在PHP中如何判断文本文件的编码格式

今天在PHPCHINA的论坛上看到有人问如何在PHP程序中判断一个文本文件的编码格式,有些人说使用mb_detect_encoding函数来判断,但是经过楼主的测试无论文档采用什么编码格式,都只是显示UTF-8。我在PHP在线文档中查看到这个方法可以检测

  1. function isUTF8($str)
  2. {
  3. if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", "UTF-8"), "UTF-8", "UTF-32"))
  4. {
  5. return true;
  6. }
  7. else
  8. {
  9. return false;
  10. }
  11. }

这个方法里面并没有使用mb_detect_encoding方法,而是使用mb_convert_encoding方法将原来的字符串转换后进行判断得出结果。我测试过该方法可以用来判断字符串是否采用UTF8的编码!

如果您第一次来到我的博客为什么不订阅我的RSS feed呢?.

-->

仅有一条评论

发表评论:

  1. Gravatar
    Francis

    哇哈哈,太感谢博主的代码了。

    就是有个疑问,为什么非UTF8编码经过了正反两次转换后,内容就变了?

    [回复评论]