php取含有中文的字串的真實長度(一箇中文算兩個字元)
阿新 • • 發佈:2019-02-18
同一段PHP編碼
$str = "三知sunchis開發網";
echo $str;
echo "<br />";
echo "strlen:".strlen($str)."<br>"; //結果:22
echo "mb_strlen:".mb_strlen($str,"UTF8")."<br>"; //結果:12
$strlen = (strlen($str)+mb_strlen($str,"UTF8"))/2;
echo "strlen+mb_strlen".$strlen;
Utf-8頁面編碼下執行結果:
三知sunchis開發網
strlen:22
mb_strlen:12
strlen+mb_strlen17
Gb2312頁面編碼下執行結果:
三知sunchis開發網
strlen:17
mb_strlen:14
strlen+mb_strlen15.5
由此可以得出這樣結論:
PHP下獲取字串的真實長度
Gb2312編碼:strlen($str)
Utf-8編碼:(strlen($str)+mb_strlen($str,"UTF8"))/2