前些天擷取中午字元串使用strlen擷取utf8編碼的字元串,居然擷取到了的長度是3,意外了,後面發現strlen是針對ascii編碼統計長度的,其他編碼需要使用到mb_strlen這個函數。
<?php
header('Content-type:text/html;charset=utf8');
$str = '中文a字1符';
echo strlen($str);
echo '<br/>';
echo mb_strlen($str,'UTF8');
echo '<br/>';
//中英文混排字的正确計算方式
echo (strlen($str)+mb_strlen($str,'UTF8'))/2;
?>
本文轉自xuzw13 51CTO部落格,原文連結:http://blog.51cto.com/xuzhiwei/1132778,如需轉載請自行聯系原作者