php判断字符串编码是否为utf8的函数举例
代码:
/**
* 判断字符串编码
* edit by www.jbxue.com
*/
function is_utf8($word)
{
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;
}
}
$t = 'wangbin';
//$t = iconv('GB2312','UTF-8',$t)
var_dump(is_utf8($t));
?>
另外,php中的函数mb_detect_encoding,也可以实现这样的功能。
php下检测字符串是否是utf8编码的代码,函数:mb_detect_encoding,这个需要php环境中安装有mb_string库。
有关mb_detect_encoding函数的相关内容,可以参考:
php获取字符串编码的函数mb_detect_encoding
php mb_detect_encoding检测字符串编码有误的问题
实现的函数如下:
/**
* 检测是否utf8编码
* edit by www.jbxue.com
*/
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一样,对错相当。但用在日常的开发中,已基本够用,希望大家喜欢哦。
您可能感兴趣的文章:
学习php字符串编码的转换与判断
php获取字符串的编码格式的函数
php判断字符编码的二个方法
php 自动检测内容编码并转换的代码
自动检测内容中的编码并进行转换的函数
php编码转换函数(自动转换字符集支持数组转换)
php改变编码的函数iconv
您可能感兴趣的文章:
php获取字符串的编码格式的函数
php判断字符编码的二个方法
学习php字符串编码的转换与判断
php判断字符串编码是否为utf8的函数举例
php判断是否包含字符
php判断字符串是纯英文、纯汉字或汉英混合的实现代码
php 判断数组是否为空的几种方法
php url函数用法举例
一个判断是否为指定长度内字符串的函数
php5 字符串处理函数汇总