php的 substr 來截取中文,會導緻亂碼,是因為編碼問題,中文每個字會占用三個字元,是以進行截取的同時,需要判斷再進行截取,避免亂碼問題。
//UTF截取中文
function utf_substr($str,$len){
for($i=0;$i<$len;$i++){
$temp_str=substr($str,0,1);
if(ord($temp_str) > 127){
$i++;
if($i<$len){
$new_str[]=substr($str,0,3);
$str=substr($str,3);
}
}
else{
$new_str[]=substr($str,0,1);
$str=substr($str,1);
}
}
return join($new_str);
}