php的 substr 来截取中文,会导致乱码,是因为编码问题,中文每个字会占用三个字符,所以进行截取的同时,需要判断再进行截取,避免乱码问题。 //UTF截取中文function utf_substr($str,$len){for($i=0;$i$len;$i ){$temp_str=substr($str,0,1);if(ord($temp 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); }