加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-05-11 10:20:26 所属栏目:PHP教程 来源:互联网
导读:给一个字符串,怎么判断它是什么编码呢?php有一个函数:mb_detect_encoding。不过这个东西需要有mb_string库,不是到处都能用的。
 function is_utf8($string) {
     return preg_match('%^(?:
             [x09x0Ax0Dx20-x7E]                 # ASCII
         | [xC2-xDF][x80-xBF]                 # non-overlong 2-byte
         |     xE0[xA0-xBF][x80-xBF]             # excluding overlongs
         | [xE1-xECxEExEF][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%准确,这个东西已经可以基本满足要求了。 

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读