php 如何判断字符是否是utf8编码 php怎样判断字符串是什么编码

php\u5982\u4f55\u5224\u65ad\u4e00\u4e2a\u5b57\u7b26\u4e32\u662f\u4e0d\u662fbase64\u7f16\u7801

\u3000\u3000\u53c2\u8003\u601d\u8def\uff1aPHP\u5224\u65ad\u4e00\u4e2a\u5b57\u7b26\u4e32\u662f\u5426\u7ecf\u8fc7base64\u7f16\u7801\uff0c\u53ef\u4ee5\u901a\u8fc7\u5bf9\u8be5\u5b57\u7b26\u4e32\u89e3\u7801\uff0c\u7136\u540e\u7f16\u7801\uff0c\u6700\u540e\u5bf9\u6bd4\u4e24\u8005\u662f\u5426\u76f8\u7b49\u3002\u793a\u4f8b\u4ee3\u7801\u5982\u4e0b\uff1a

php\u5224\u65ad\u5b57\u7b26\u7f16\u7801\u7684\u4e8c\u4e2a\u65b9\u6cd5\uff1a
\u4e00\u4e2a\u662f\u7528php\u81ea\u5e26\u7684\u51fd\u6570mb_detect_encoding\uff0c\u4e00\u4e2a\u662f\u4e2a\u4eba\u5199\u51fd\u6570\u6765\u5904\u7406\u3002
\u65b9\u6cd51\uff0c\u4f7f\u7528mb_detect_encoding\u51fd\u6570\u3002
?

1
2
3
4

<?php
$str=\u201d\u811a\u672c\u201d;
echo mb_detect_encoding($str);
?>

\u65b9\u6cd52\uff0c\u81ea\u5b9a\u4e49\u51fd\u6570\u3002
?

1
2
3
4
5
6
7
8
9
10
11

<?php
function chkbm($string){
$bm = array(\u2018ASCII\u2019, \u2018GBK\u2019, \u2018UTF-8\u2032);
foreach($bm as $c){
if( $string === iconv(\u2018UTF-8\u2032, $c, iconv($c, \u2018UTF-8\u2032, $string))){//\u8f6c\u6362\u7f16\u7801\u540e\u662f\u4e0d\u662f\u76f8\u7b49
return $c;
}
}
return null;
}
?>

严格来说,不好判断,但如下方法或许能给你应急处理。 function is_utf8_encode($str, $flag=false){ static $charset = null; if($charset == null){ //gbk中的汉字,但是满足utf-8的编码规范,对于这些汉字当做gbk字符处理 $charstr = '陇搂篓掳卤路脳脿谩猫茅锚矛铆貌贸梅霉煤眉腻脓臎墨艅艌艒奴菐菒菕菙菛菢菤菧蓱伞艺藟藠藡藱螒螔螕螖螘螙螚螛螜螝蚂螠螡萤螣螤巍危韦违桅围唯惟伪尾纬未蔚味畏胃喂魏位渭谓尉慰蟺蚁蟽蟿蠀蠁蠂蠄蝇衼袗袘袙袚袛袝衮袟袠袡袣袥袦袧袨袩袪小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褢'; $charset = str_split($charstr, 2); $charset = array_flip($charset);}$pflag = true;$qflag = false; $len = strlen($str);

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网