找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 455|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 09:23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

             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 截取字符串 分别适合GB2312和UTF8编码情况
  • php自动获取字符串编码函数mb_detect_encoding
  • PHP详解ASCII码对照表与字符转换
  • 解析php获取字符串的编码格式的方法(函数)
  • 浅析PHP中的字符串编码转换(自动识别原编码)
  • 浅析PHP的ASCII码转换类
  • php小技巧之过滤ascii控制字符
  • PHP安全的URL字符串base64编码和解码
  • php实现图片转换成ASCII码的方法
  • php实现HTML实体编号与非ASCII字符串相互转换类实例
  • PHP实现ASCII码与字符串相互转换的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端