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

时间:2021-05-26

functionis_utf8($string){
returnpreg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E]#ASCII
|[\xC2-\xDF][\x80-\xBF]#non-overlong2-byte
|\xE0[\xA0-\xBF][\x80-\xBF]#excludingoverlongs
|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}#straight3-byte
|\xED[\x80-\x9F][\x80-\xBF]#excludingsurrogates
|\xF0[\x90-\xBF][\x80-\xBF]{2}#planes1-3
|[\xF1-\xF3][\x80-\xBF]{3}#planes4-15
|\xF4[\x80-\x8F][\x80-\xBF]{2}#plane16
)*$%xs',$string);
}
准确率基本和mb_detect_encoding一样,要对一起对,要错一起错。
编码检测不可能100%准确,这个东西已经可以基本满足要求了。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章