脚本宝典收集整理的这篇文章主要介绍了PHP中mb_detect_order()的奇怪行为,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是如果我用Mb_detect_order()函数改变可能的编码顺序,函数会返回不同的结果.
请考虑以下示例
$htML = <<< STR ちょっとのアクセスで落ちてしまったり、サーバー障害が多いレンタルサーバーを選ぶとあなたのビジネス等にかなりの影響がでてしまう可能性があります.特に商売をされている個人の方、法人の方は気をつけるようにしてください STR; mb_detect_order(array('UTF-8','EUC-JP','SJIS','eucJP-win','SJIS-win','JIS','ISO-2022-JP','ISO-8859-1','ISO-8859-2')); $originalEncoding = mb_detect_encoding($str); die($originalEncoding); // $originalEncoding = 'UTF-8'
但是,如果您更改mb_detect_order()中的编码顺序,结果将会有所不同:
mb_detect_order(array('EUC-JP','UTF-8','ISO-8859-2')); die($originalEncoding); // $originalEncoding = 'EUC-JP'
检测算法可能只是按顺序继续尝试在mb_detect_order中指定的编码,然后返回字节流有效的第一个编码.
编辑:参见例如this article更智能的方法.
以上是脚本宝典为你收集整理的PHP中mb_detect_order()的奇怪行为全部内容,希望文章能够帮你解决PHP中mb_detect_order()的奇怪行为所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。