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 相关文章推荐
基于文本的搜索
Oct 09 PHP
php用数组返回无限分类的列表数据的代码
Aug 08 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
Dec 24 PHP
分享下php5类中三种数据类型的区别
Jan 26 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
php操作redis数据库常见方法实例总结
Feb 20 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.MVC的模板标签系统(一)
2006/09/05 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
jquery getScript动态加载JS方法改进详解
2012/11/15 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
python的faker库用法
2019/11/28 Python
关于python中的xpath解析定位
2020/03/06 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
python中return如何写
2020/06/18 Python
python 读取串口数据的示例
2020/11/09 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
保险专业自荐信范文
2014/02/20 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
还款承诺书范本
2015/01/20 职场文书
安全生产感想
2015/08/07 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python