close
在 PHP 中使用 substr 截取 utf-8 字串,會造成取得字串出現如下亂碼。
$str="測試字串測試字串測試字串測試字串";
echo substr($str,0,10);
可以直接將所需要截取的 utf-8 字串長度乘上 3,可直接取得正確的字串內容。
$str="測試字串測試字串測試字串測試字串";
echo substr($str,0,3*3);
但是字串中包含其它非 utf-8 內的 ASCII 碼,會使得直接乘上 3 所取得的字串長度,跟原先的
字串長度不符合,而造成亂碼。
$str="測試字a串測試字串測試字串測試字串";
echo substr($str,0,10*3);
在 PHP 中,他提供了 mb_substr ,他可以幫我們正確的截取我們需要的 utf-8 字串,解決使
用 substr 截取 utf-8 字串會產生亂碼的問題。
$str="測試字串a測試字串測試字串測試字串";
echo mb_substr($str,0,10,'utf8');
全站熱搜
留言列表