如何在PHP中检测错误编码的字符串

时间:2011-12-29 14:04:22

标签: php

假设有这样的字符串:

Çë½ÌΪʲôÎÒÒ»½øÐв鶾ʱ¾Í·¢ÏÖϵͳÅÌ¿ÉÓÃ¿Õ ¼ä¾Í¼±¾ç¼õÉÙ£

他们编码错误。你怎么认为有可能知道它实际上是否编码错误? 右编码字符串的一个例子是

Ciao mamm@ guardà come mi divertò

我强烈认为2中有2个市长差异:

  • 空格的数字/ string_lenght
  • 人数(aeiou)/ string_lenght

比代码更像是

if({Numer of whitespaces/string_lenght} < 0.05 (1 every 20 other characters)}
     OR {Number of vocals(aeiou)/string_lenght} < 0.2 (1 every 5 other characters)})
  return WRONG
else
  return OK

你有更好的主意吗?也许有一些已经测试过的php功能适合我的情况?谢谢!

1 个答案:

答案 0 :(得分:1)

如果您知道编码应该是什么,请使用mb_check_encoding。如果您不知道编码应该是什么,请尝试mb_detect_encoding,如果找不到有效编码,则返回FALSE