这个问题询问如何检测UTF-8字符串 - 如何检测是否必须对字符串应用utf8解码或编码?
解决方案是这样的:
if (preg_match('!!u', $string))
{
// this is utf-8
}
else
{
// definitely not utf-8
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何分解"!! u"表达式.我点击了所有PHP的PCRE内容,可能错过了"!"的描述.标记和"你" - 的东西.我尝试通过perl的YAPE :: Regex :: Explain运行它(如在解释这个Perl正则表达式中所见)并且无法获得有意义的东西[我不是perl专家 - 不知道我是否喂它正确的表达/字符串].
那么......究竟是如何preg_match('!!u', $string)运作的?