首頁  >  文章  >  後端開發  >  php substr中文亂碼解決方法

php substr中文亂碼解決方法

高洛峰
高洛峰原創
2016-11-29 16:16:221520瀏覽

如果直接使用substr截取中文字串肯定會出亂碼的,因為他會把一個漢字分成一半,為什麼會這樣,因為機器內部編碼的問題,現在我們來看處理辦法

1、使用mbstring擴充庫的mb_substr截取就不會出現亂碼了。

2、自己書寫截取函數,但效率不如用mbstring擴充函式庫來得高。

3、如果僅是為了輸出截取的串,可用如下方式實現:substr($str, 0, 30).chr(0).

PHP實例代碼如下:

 *  

字可以避免亂碼

字可以避免亂碼

 * 參數 $str 為字串,$start 為開始字元,$len 結束字元 

 * 返回截取後的字元 

 */ 

function 

 */ 

function 

( = "";//開源程式碼phpfensi.com 

 $strlen = $start + $len;  

 for($i = 0; $ str, $i, 1)) > 0xa0) {  

   $tmpstr .= substr($str, $i,  

   $tmpstr .= substr($str, $ i, 1);  

 }  

 return $tmpstr;  

方法二,php { 

if(strlen($string)>$length){ 

   $str=null; 

   $len=$start+$length; ){ 

    if(ord(substr($string,$i,1))>0xa0){ 

     $str.=substr($string,$i++2); }else{

     $str.=substr($string,$i,1); 

    } 

   } 

   return $string; 

?> 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn