怎么解决php读取文件乱码问题

php读取文件乱码的解决办法:首先打开相应的代码文件;然后通过“iconv($encodType, “utf-8”, $content);  ”方法解决中文乱码即可。

怎么解决php读取文件乱码问题

推荐:《PHP视频教程》

PHP读取文件,解决中文乱码UTF-8

$opts = array(  'file' => array(          'encoding' => "utf-8"    )  );  $opts = array('http' => array('encoding' => 'utf-8'));  $ctxt = stream_context_create($opts);  $content = file_get_contents($filePath, FILE_TEXT, $ctxt);

登录后复制

最简单的就是将GF2312→UTF-8

$str=iconv("gb2312", "utf-8", $str);

登录后复制

不管用的

$content = mb_convert_encoding($content, "UTF-8", "auto");

登录后复制

******************************************丑陋的分割线来告诉大家上面的不好的:下面的才是正确的方法···哈哈···**********************************************************

define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));  define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));  define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));  define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));  define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));    $text = file_get_contents($newPath);  $first2 = substr($text, 0, 2);  $first3 = substr($text, 0, 3);  $first4 = substr($text, 0, 3);  $encodType = "";  if ($first3 == UTF8_BOM)      $encodType = 'UTF-8 BOM';  else if ($first4 == UTF32_BIG_ENDIAN_BOM)      $encodType = 'UTF-32BE';  else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)      $encodType = 'UTF-32LE';  else if ($first2 == UTF16_BIG_ENDIAN_BOM)      $encodType = 'UTF-16BE';  else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)      $encodType = 'UTF-16LE';    $content = file_get_contents($newPath);    $content = iconv($encodType, "utf-8", $content);

登录后复制

终极版·····

立即学习“PHP免费学习笔记(深入)”;

$text = file_get_contents($filePath);                          //$encodType = mb_detect_encoding($text);                          define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));                          define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));                          define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));                          define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));                          define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));                          $first2 = substr($text, 0, 2);                          $first3 = substr($text, 0, 3);                          $first4 = substr($text, 0, 3);                          $encodType = "";                          if ($first3 == UTF8_BOM)                              $encodType = 'UTF-8 BOM';                          else if ($first4 == UTF32_BIG_ENDIAN_BOM)                              $encodType = 'UTF-32BE';                          else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)                              $encodType = 'UTF-32LE';                          else if ($first2 == UTF16_BIG_ENDIAN_BOM)                              $encodType = 'UTF-16BE';                          else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)                              $encodType = 'UTF-16LE';                            //下面的判断主要还是判断ANSI编码的·                          if ($encodType == '') {//即默认创建的txt文本-ANSI编码的                              $content = iconv("GBK", "UTF-8", $text);                          } else if ($encodType == 'UTF-8 BOM') {//本来就是UTF-8不用转换                              $content = $text;                          } else {//其他的格式都转化为UTF-8就可以了                              $content = iconv($encodType, "UTF-8", $text);                          }

登录后复制

以上的终极版·可以适应中文操作windows系统建立的ANSI””””“UTF-8″””Unicode”“的txt文本····

以上就是怎么解决php读取文件乱码问题的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2521006.html

(0)
上一篇 2025年3月5日 16:48:56
下一篇 2025年2月27日 16:36:18

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php session 取不到值怎么办

    php session取不到值是因为没有将session传递进来,其解决办法就是在使用php的session之前,通过“session_start()”方法打开session即可。 推荐:《PHP视频教程》 最近在写PHP的时候遇到了这个问…

    2025年3月5日
    200
  • php修改xml的方法

    php修改xml的方法:首先创建一个代码示例文件;然后通过“$new->nodeValue=$_content;”方法修改节点值即可。 推荐:《PHP视频教程》 php创建、增加、删除、修改xml 创建xml 方法:  formatO…

    2025年3月5日
    200
  • php显示不了图片的解决办法

    php显示不了图片是因为源代码中除了img输出外,还有其它输出,其解决办法就是取消在header被调用之前的任输出即可。 推荐:《PHP视频教程》 具体问题: php文件可以输出图片却无法显示出来! 使用 立即学习“PHP免费学习笔记(深入…

    2025年3月5日
    200
  • 想培训php怎么样

    培训php绝对是不会后悔的一个想法!引用鸟高的一句话“php是一门能帮人们高效解决问题,快速实现想法的优秀工具,有什么理由不被大量采用呢?”。所以有市场就有需求,拥有一技之能,走哪都有香饽饽的饭吃! 简单来说,PHP上手快,适合大众口味,而…

    2025年3月5日
    200
  • 北京php工资一般多少

    php工资的多少都是大家最为关切的问题,毕竟前途大,工资高,才有想学php的动力!那么北京php工资能达到多少呢? 下面我给大家分享我从百度百聘中了解到的一些公司招聘PHP工程师的待遇情况: 立即学习“PHP免费学习笔记(深入)”; 从上图…

    2025年3月5日
    200
  • php程序员工资一般多少?

    php工资是大家最为关切的问题,毕竟前途大,工资高,才有想学php的动力!那么php程序员能够拿多少工资呢? PHP程序员工资是要看你个人水平,以及在什么城市,哪个行业,平均薪资在15K左右,还有团队项目奖金,另外多数都会接私活,所以每月收…

    2025年3月5日 编程技术
    200
  • 学完了php好找工作不?

    PHP程序员找工作还是可以的。找公司类型要对以后的职业发展提供导向作用,互联网公司、外包型公司、独立开发技术型的企业、外企甚至是国企都需要PHP程序员。 后端开发工程师(具有前端后端开发能力的综合性人才岗位),1年左右可达到8000-100…

    2025年3月5日
    200
  • php将数组转换成字符串

    php将数组转换成字符串的方法:首先创建一个PHP示例文件;然后通过“implode(‘,’,$arr);”方法将数组转换成字符串即可。 本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品牌电脑…

    2025年3月5日
    200
  • php 变量替换的方法

    php变量替换的实现方法:1、把变量名放在双引号字符串或heredoc中;2、把要替换的变量用大括号括起来,用于消除歧义或替换数组查找即可。 推荐:《PHP视频教程》 本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品…

    2025年3月5日
    200
  • php正则字符串替换的实现方法

    php正则字符串替换的实现方法:首先创建一个PHP示例文件;然后通过表达式“preg_match_all(‘/(http://blog.com).*?(php)/is’,”aaaa…”实现字符…

    2025年3月5日
    200

发表回复

登录后才能评论