signed

QiShunwang

“诚信为本、客户至上”

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

2021/5/15 0:49:17   来源:
 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实现HTML实体编号与非ASCII字符串相互转换类实例
  • php实现图片转换成ASCII码的方法
  • php小技巧之过滤ascii控制字符
  • 浅析PHP的ASCII码转换类
  • PHP详解ASCII码对照表与字符转换
  • php自动获取字符串编码函数mb_detect_encoding
  • 解析php获取字符串的编码格式的方法(函数)
  • PHP安全的URL字符串base64编码和解码
  • PHP 截取字符串 分别适合GB2312和UTF8编码情况
  • 浅析PHP中的字符串编码转换(自动识别原编码)
  • php中支持多种编码的中文字符串截取函数!
  • PHP实现ASCII码与字符串相互转换的方法