php+fread()乱码怎么办-LMLPHP

本教程操作环境: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()乱码怎么办的详细内容,更多请关注Work网其它相关文章!

09-18 07:54