PHP读取文件或采集时解决中文乱码


Posted in PHP onMarch 09, 2021

尝试一:

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

尝试二:

$str = mb_convert_encoding($str, "UTF-8", "GBK");

尝试三:

$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);
}
PHP 相关文章推荐
php下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
Sep 15 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
php 函数中使用static的说明
Jun 01 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
Feb 18 PHP
为何说PHP引用是个坑,要慎用
Apr 02 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 #PHP
PHP7 windows支持
Mar 09 #PHP
PHP7 新增常量
Mar 09 #PHP
PHP7移除的扩展和SAPI
Mar 09 #PHP
PHP7新增函数
Mar 09 #PHP
PHP7修改的函数
Mar 09 #PHP
PHP7 弃用功能
Mar 09 #PHP
You might like
深入Nginx + PHP 缓存详解
2013/07/11 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
php设计模式之工厂模式用法经典实例分析
2019/09/20 PHP
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
python基础教程之Filter使用方法
2017/01/17 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
利用CSS3的特性改变文本选中时的颜色
2013/09/11 HTML / CSS
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
大学团支书的自我评价分享
2013/12/14 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
酒鬼酒广告词
2014/03/21 职场文书
丧事主持词大全
2014/04/02 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
作文评语集锦
2014/12/25 职场文书
青春雷锋观后感
2015/06/10 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js