php下检测字符串是否是utf8编码的代码

 function is_utf8($string) {
     return preg_match('%^(?:
             [/x09/x0A/x0D/x20-/x7E]                 # ASCII
         | [/xC2-/xDF][/x80-/xBF]                 # non-overlong 2-byte
         |     /xE0[/xA0-/xBF][/x80-/xBF]             # excluding overlongs
         | [/xE1-/xEC/xEE/xEF][/x80-/xBF]{2}     # straight 3-byte
         |     /xED[/x80-/x9F][/x80-/xBF]             # excluding surrogates
         |     /xF0[/x90-/xBF][/x80-/xBF]{2}     # planes 1-3
         | [/xF1-/xF3][/x80-/xBF]{3}             # planes 4-15
         |     /xF4[/x80-/x8F][/x80-/xBF]{2}     # plane 16
     )*$%xs', $string);     
}
准确率基本和mb_detect_encoding一样,要对一起对,要错一起错。
编码检测不可能100%准确,这个东西已经可以基本满足要求了。 

php技术php下检测字符串是否是utf8编码的代码,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。