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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
PHP中的错误处理、异常处理机制分析
May 07 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 PHP
php验证码实现代码(3种)
Sep 07 PHP
java模拟PHP的pack和unpack类
Apr 13 PHP
Yii框架表单模型和验证用法
May 20 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 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
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
javascript天然的迭代器
2010/10/29 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
angularjs 获取默认选中的单选按钮的value方法
2018/02/28 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
js编写简易的计算器
2020/07/29 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
Python基础语法(Python基础知识点)
2016/02/28 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Python @property原理解析和用法实例
2020/02/11 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
绿化先进工作者事迹材料
2014/01/30 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
群教班子对照检查材料
2014/08/26 职场文书
开发房地产协议书
2014/09/14 职场文书
2014年村官工作总结
2014/11/24 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
教师听课学习心得体会
2016/01/15 职场文书
《植树问题》教学反思
2016/03/03 职场文书