php检测文件编码方法[非完美]_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php检测文件编码方法[非完美]_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2374字,纯文字阅读大概需要4分钟。
内容图文
![php检测文件编码方法[非完美]_PHP教程](/upload/InfoBanner/zyjiaocheng/181/0596fa3ffb5e4c29a8fbf36ed3641891.jpg)
看到有人写了个增强版,用 BOM 判断的,我果断就无视了,这东西完全不靠谱、
最终根据PHP手册里 mb_detect_encoding 函数下方的例子,自己写了一个检测函数,
还包括自动检测编码并按指点编码读取文件的函数、
源码献上,不喜勿喷。
网上的方法我试过没用才写的,说不定环境不一样导致的。
所以万一没用,也别喷我,我只是共享想思路而已、、
<span 1 <?<span php <span 2 <span /*<span * <span 3 <span * 检测文件编码 <span 4 <span * @param string $file 文件路径 <span 5 <span * @return string|null 返回 编码名 或 null <span 6 <span */ <span 7 <span function detect_encoding(<span $file<span ) { <span 8 <span $list = <span array('GBK', 'UTF-8', 'UTF-16LE', 'UTF-16BE', 'ISO-8859-1'<span ); <span 9 <span $str = <span file_get_contents(<span $file<span ); <span 10 <span foreach (<span $list <span as <span $item<span ) { <span 11 <span $tmp = mb_convert_encoding(<span $str, <span $item, <span $item<span ); <span 12 <span if (<span md5(<span $tmp) == <span md5(<span $str<span )) { <span 13 <span return <span $item<span ; <span 14 <span } <span 15 <span } <span 16 <span return <span null<span ; <span 17 <span } <span 18 <span 19 <span /*<span * <span 20 <span * 自动解析编码读入文件 <span 21 <span * @param string $file 文件路径 <span 22 <span * @param string $charset 读取编码 <span 23 <span * @return string 返回读取内容 <span 24 <span */ <span 25 <span function auto_read(<span $file, <span $charset='UTF-8'<span ) { <span 26 <span $list = <span array('GBK', 'UTF-8', 'UTF-16LE', 'UTF-16BE', 'ISO-8859-1'<span ); <span 27 <span $str = <span file_get_contents(<span $file<span ); <span 28 <span foreach (<span $list <span as <span $item<span ) { <span 29 <span $tmp = mb_convert_encoding(<span $str, <span $item, <span $item<span ); <span 30 <span if (<span md5(<span $tmp) == <span md5(<span $str<span )) { <span 31 <span return mb_convert_encoding(<span $str, <span $charset, <span $item<span ); <span 32 <span } <span 33 <span } <span 34 <span return ""<span ; <span 35 }
http://www.bkjia.com/PHPjc/699432.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/699432.htmlTechArticle很多人建议 mb_detect_encoding 检测,可是不知为何我这不成功,什么都没输出、 看到有人写了个增强版,用 BOM 判断的,我果断就无视了,这...
内容总结
以上是互联网集市为您收集整理的php检测文件编码方法[非完美]_PHP教程全部内容,希望文章能够帮你解决php检测文件编码方法[非完美]_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。