php+fread()乱码怎么办

学习笔记 03/12 PHP

php+fread()乱码是因为输出页面的编码和被读文件的编码不一致,其解决办法:1、打开相应的php文件;2、通过fread函数读取文件;3、通过“iconv('gbk', 'utf-8', $data)”方法将读取的内容转码即可。

php+fread()乱码怎么办

本教程操作环境:Windows10系统、PHP8.1版、DELL G3电脑

php+fread()乱码怎么办?

php中,通过fread函数直接读取文件,文件内容如果遇到中文则会出现乱码问题,这个该如何去解决?

可能是输出页面的编码和被读文件的编码不一致。

解决办法:

读出来以后把内容转码试试

iconv('gbk', 'utf-8', $data)

相关介绍:

iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv — 字符串按要求的字符编码来转换

说明

iconv(string $in_charset, string $out_charset, string $str): string

将字符串 str 从 in_charset 转换编码到 out_charset。

参数

in_charset

输入的字符集。

out_charset

输出的字符集。

如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,会导致一个 E_NOTICE并返回 false。

警告

//TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL)。 据悉,某些系统上的实现会直接忽略 //TRANSLIT,所以转换也有可能失败,out_charset 会是不合格的。

str

要转换的字符串。

返回值

返回转换后的字符串, 或者在失败时返回 false。

fread()

fread() 函数读取打开的文件。

函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行。

该函数返回读取的字符串,如果失败则返回 FALSE。

语法

string fread ( resource $handle , int $length )

参数

handle    文件系统指针,是典型地由 fopen() 创建的 resource(资源)。    

length    必需。规定要读取的最大字节数。    

推荐学习:《》

以上就是php+fread()乱码怎么办的详细内容,更多请关注本站点其它相关文章!

本文地址:https://www.stayed.cn/item/26846

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。