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 相关文章推荐
Apache中php.ini的设置方法
Feb 28 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
Jul 11 PHP
Yii核心组件AssetManager原理分析
Dec 02 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
PHP导出Excel实例讲解
Jan 24 PHP
浅谈PHP中的
Apr 23 PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
Sep 05 PHP
laravel框架创建授权策略实例分析
Nov 22 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 中的一些经验积累
2006/10/09 PHP
谈谈PHP的输入输出流
2007/02/14 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
python基础教程之udp端口扫描
2014/02/10 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
python实现的生成word文档功能示例
2019/08/23 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Python如何批量生成和调用变量
2020/11/21 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
宿舍卫生检讨书
2014/01/16 职场文书
二年级学生评语大全
2014/04/23 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
婚前协议书范本两则
2014/10/16 职场文书
加强作风建设心得体会
2014/10/22 职场文书
乒乓球比赛通知
2015/04/27 职场文书
工地食品安全责任书
2015/05/09 职场文书
法院执行局工作总结
2015/08/11 职场文书
班主任工作总结范文
2015/08/13 职场文书
Oracle笔记
2021/04/05 Oracle
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python