如何检测字符串中是否包含UTF-8字符?

时间:2012-08-11 21:45:29

标签: php unicode

  

可能重复:
  How do I detect non-ASCII characters in a string?

我有一个代表US-ASCII音译表的数组,请注意这个: http://www.geopostcodes.com/encoding#az

如果字符串中包含其中一个字符,那么我将其替换为ASCII通讯员(使用strtr)。

因为数组很大,所以我希望将它加载到一个变量中并仅在字符串包含这些类型的UTF-8字符时才音译。

有没有一种快速的方法可以找到它?

1 个答案:

答案 0 :(得分:3)

没有真正的方法可以做到这一点。但是,如果您不需要ASCII 127以上的任何代码点(因此没有像éáÿ这样的“扩展ASCII”),您可以检查是否有任何字节设置了第一位:

for (var i = 0; i < text.length; i++)
    if (ord(text[i]) > 127)
        // Unicode/UTF-8 character!