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.ini 中文版
Oct 28 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 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页面静态化
2018/02/05 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
解决python selenium3启动不了firefox的问题
2018/10/13 Python
利用Pycharm断点调试Python程序的方法
2018/11/29 Python
Python识别快递条形码及Tesseract-OCR使用详解
2019/07/15 Python
python3下pygame如何实现显示中文
2020/01/11 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
Python中qutip用法示例详解
2020/10/02 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
英超联赛的首选足球:Mitre足球
2019/05/06 全球购物
ProForm英国站点:健身房和健身器材网上商店
2019/06/05 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
学前教育教师求职自荐信
2013/09/22 职场文书
客服主管岗位职责
2013/12/13 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
长江七号观后感
2015/06/11 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python