• 技术文章 >后端开发 >PHP问题

    php+fread()乱码怎么办

    藏色散人藏色散人2023-01-18 10:21:47原创58

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

    本教程操作环境: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核实处理。
    专题推荐:fread 乱码 php
    上一篇:php explode报错怎么办 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 如何使用PHP中的fread()函数读取文件内容• php fread 中文乱码怎么办• 如何在PHP中利用fread()读取文件• PHP读取文件的两种方式:file_get_contents和fread(附代码实例)• php fread函数乱码怎么办• php fread()函数怎么用
    1/1

    PHP中文网