首页 > 开发 > PHP > 正文

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

2024-05-04 22:12:24
字体:
来源:转载
供稿:网友
 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%准确,这个东西已经可以基本满足要求了。 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表