首页  >  文章  >  后端开发  >  PHP完美判断字符串是否为utf-8的函数_PHP教程

PHP完美判断字符串是否为utf-8的函数_PHP教程

WBOY
WBOY原创
2016-07-21 14:54:48786浏览

完美判断函数:

function is_utf8($gonten)
{
if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true)
{
return true;
}
else
{
return false;
}
}

使用方法 is_utf8($gonten)就可以判断字符串$gonten是否为utf-8编码了。


网上流传着这样一个判断函数,其实这函数判断是不完整的,函数如下

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);
}

以上这段函数如判断“食”、“品”等文字时是判断为utf-8编码的,所以建议大家使用前者。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/364536.htmlTechArticle完美判断函数: function is_utf8($gonten) { if (preg_match(/^([.chr(228).-.chr(233).]{1}[.chr(128).-.chr(191).]{1}[.chr(128).-.chr(191).]{1}){1}/,$word) == true || preg_match(...
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn