1.目前处理的文件类型有两种 txt html

2.文件的编码未知 要读取文件内容 内容编码最后统一转换成utf-8 最终入库

目前想用mb_convert_encoding($file_content,'utf-8',"auto"); 好像不行 求大神赐教!帮忙分析下(txt的复杂点)

回复讨论(解决方案)

用 mb_convert_encoding 大多不能得到正确的判断

所以 mb_string 扩展有了一个新成员 mb_check_encoding

这个函数可以准确的判定来源是否为指定的字符集

只不过你需要写代码来枚举可能的字符集:

if(mb_check_encoding($s, 'utf-8')) ....

elseif(mb_check_encoding($s, 'gbk')) ....

elseif(mb_check_encoding($s, 'big5')) ....

else ....

用 mb_convert_encoding 大多不能得到正确的判断

所以 mb_string 扩展有了一个新成员 mb_check_encoding

这个函数可以准确的判定来源是否为指定的字符集

只不过你需要写代码来枚举可能的字符集:

if(mb_check_encoding($s, 'utf-8')) ....

elseif(mb_check_encoding($s, 'gbk')) ....

elseif(mb_check_encoding($s, 'big5')) ....

else ....

有用,前几天,写了个读取csv格式的数据,一度在纠结由txt转换csv格式的编码问题....

用 mb_convert_encoding 大多不能得到正确的判断

所以 mb_string 扩展有了一个新成员 mb_check_encoding

这个函数可以准确的判定来源是否为指定的字符集

只不过你需要写代码来枚举可能的字符集:

if(mb_check_encoding($s, 'utf-8')) ....

elseif(mb_check_encoding($s, 'gbk')) ....

elseif(mb_check_encoding($s, 'big5')) ....

else ....if(mb_convert_encoding($file_content,'ASCII')){mb_convert_encoding($file_content,'UTF-8',"ASCII");}elseif(mb_convert_encoding($file_content,'GB2312')){mb_convert_encoding($file_content,'UTF-8',"GB2312");}elseif(mb_convert_encoding($file_content,'GBK')){mb_convert_encoding($file_content,'UTF-8',"GBK");}elseif(mb_convert_encoding($file_content,'BIG5')){mb_convert_encoding($file_content,'UTF-8',"BIG5");}else{mb_convert_encoding($file_content,'UTF-8',"auto");}

还有有乱码

http://fashionistess.com/awr1/1.php

不明白你给出的连接反映的是什么

既然你已经发现 mb_convert_encoding 不准确了,那么你为什么还在用呢?$file_content = '待转码的内容';$charset = '';if(mb_check_encoding($file_content, 'utf-8')) $charset = ''; //已是 utf-8 了无需转码elseif(mb_check_encoding($file_content, 'big5')) $charset = 'big5'; //big5 的码值范围小于 gbk,应先判断elseif(mb_check_encoding($file_content, 'gbk')) $charset = 'gbk'; //gb2312 是 gbk 的子集,只判 gbk 就可以了if($charset) $file_content = mb_convert_encoding($file_content, 'utf-8', $charset);

不明白你给出的连接反映的是什么

既然你已经发现 mb_convert_encoding 不准确了,那么你为什么还在用呢?$file_content = '待转码的内容';$charset = '';if(mb_check_encoding($file_content, 'utf-8')) $charset = ''; //已是 utf-8 了无需转码elseif(mb_check_encoding($file_content, 'big5')) $charset = 'big5'; //big5 的码值范围小于 gbk,应先判断elseif(mb_check_encoding($file_content, 'gbk')) $charset = 'gbk'; //gb2312 是 gbk 的子集,只判 gbk 就可以了if($charset) $file_content = mb_convert_encoding($file_content, 'utf-8', $charset);

不好意思 刚才代码写错了

链接是测试结果 编码问题会影响解析的结果(以前只分析linux下生成的文件所以一直没发现这个问题) 谢谢 问题已经解决啦

相关标签:统一编码

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php中统一编码语句,统一编码相关推荐

  1. java 项目 gbk 转utf-8_[idea]Java的GBK编码项目统一转换成utf-8格式

    Java的GBK编码项目统一转换成utf-8格式 0. 直接运行jar包 java -jar GBK2UTF8.jar 1. 构建 原理 使用common io批量将java编码从GBK转UTF-8 ...

  2. IDEA统一设置编码为utf-8编码及tomcat 乱码问题的解决

    IDEA统一设置编码为utf-8编码及tomcat 乱码问题的解决 参考文章: (1)IDEA统一设置编码为utf-8编码及tomcat 乱码问题的解决 (2)https://www.cnblogs. ...

  3. unix系统编码 java_JAVA字符编码系列三:Java应用中的编码问题

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

  4. mysql建库带编码语句_Mysql 建库 编码

    mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题. 我们遵循的标准是,数据库,表,字段和页面或文本的 ...

  5. java 编码解码_深入解析Java中的编码转换以及编码和解码操作

    一.Java编码转换过程 我们总是用一个java类文件和用户进行最直接的交互(输入.输出),这些交互内容包含的文字可能会包含中文.无论这些java类是与数据库交互,还是与前端页面交互,他们的生命周期总 ...

  6. python编码使用ascii编码_Python中的编码问题:ASCII码 Unicoden编码 UTF-8编码

    编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 ...

  7. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略

    Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...

  8. 在计算机中 最普遍的西文编码是,目前在计算机中最普遍采用的西文字符编码是...

    语音内容: 大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 目前在计算机中最普遍采用的西文字符编码是ASCII码,它是是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他 ...

  9. 详谈字符编码[一]字符编码中的坑

    说起字符编码首先可能想到的词汇有Unicode,UTF,UCS,内码,区位码,跨平台等词汇,甚至还有输入法,乱码,emoji,微软雅黑,URL encode等相关的词汇也会冒出来,足以说明字符编码在计 ...

最新文章

  1. 4月CISSP中文机考备考经验
  2. java小编程---生成不重复的随机数列
  3. 数据说话,88000条数据绘制北京市地图
  4. nginx php访问日志配置,nginx php-fpm 输出php错误日志的配置方法
  5. s3c2440的内存管理机制
  6. Flink中的状态管理
  7. 【ES】学习5-全文搜索
  8. 设计PNG免抠素材|提高调性!透明液态气泡免扣素材
  9. python数组初始化_Python科学计算库Numpy数组的初始化和基本操作
  10. There is insufficient memory for the Java Runtime Environment to continue.
  11. 【电子技术实验设计】简易水位控制器设计报告
  12. 深度剖析雅萌Notime美容仪事件:维护行业健康发展是媒体的社会责任
  13. Flink catalog简单使用
  14. OC集成Socket.IO时,出现错误: No such module 'Starscream' 的解决办法
  15. Spring Boot - 开启 HttpBasic 认证方式
  16. 蓝桥杯试题算法训练之删除数组零元素——Python满分解答
  17. 小红书算法sign php,小红书API签名算法分析
  18. 给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和
  19. 华为牛人在华为工作十年的感悟!
  20. php 转存微信表情emoji

热门文章

  1. 类型转换一种处理方式
  2. zabbix3.0.2 使用percona mysql插件来监控mysql5.7的详细实现过程
  3. 高程图 GridMap
  4. 微服务落地践行渐进,4个QA一窥金融微服务现状
  5. CSS3 background-clip属性
  6. 字符(串)输入输出函数
  7. LeetCode:螺旋矩阵【54】
  8. andriod环境搭建
  9. Codeforces 解题报告索引
  10. 双核CPU揭密:英特尔/AMD没有告诉你的五项事实【ZZ】