首页 >后端开发 >PHP问题 >php+fread()乱码怎么办

php+fread()乱码怎么办

藏色散人
藏色散人原创
2023-01-18 10:21:471520浏览

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视频教程

以上是php+fread()乱码怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn