php擷取中文無亂碼

2022-03-17 10:22:51 字數 367 閱讀 3191

在php中需要對字串進行擷取,如果沒有裝mb擴充套件(mb_substr函式),對中文擷取就需要進行相應的處理。

下面是對字串 「世s界s的功s\\\夫薩的mn是非得失sdf dsf dsf 達」 擷取10個字元,最後的輸出是「世s界s的」,編碼均為utf8:

<?php

$ss = '世s界s的功s\\\夫薩的mn是非得失sdf dsf dsf 達';

$aa = chsubstr($ss, 0, 10);

echo($aa);

function chsubstr($string, $start, $length)

else

}return $str;

}else

}?>

中文擷取無亂碼的PHP

str 待擷取的字串 len 擷取的字元個數 chars 已經擷取的字元數 res 儲存的字串 chars 儲存已經擷取的字串個數 offset 擷取的偏移量 length 字串的位元組數 若 len str的字元個數,造成無謂的while迴圈,offset length限定 function ut...

php中文擷取無亂碼方法

直接使用php函式substr擷取中文字元可能會出現亂碼,主要是substr可能硬生生的將乙個中文字元 鋸 成兩半。解決辦法 1 使用mbstring擴充套件庫的mb substr擷取就不會出現亂碼了。2 自己書寫擷取函式,但效率不如用mbstring擴充套件庫來得高。3 如果僅是為了輸出擷取的串,...

中文擷取無亂碼

實現中文字串擷取無亂碼的方法 肖巖utf 8中文擷取函式 在php中,substr 函式擷取帶有中文字串的話,可能會出現亂碼,這是因為中西文乙個位元組所占有的位元組數不一樣,而substr的長度引數是按照位元組去算的,在gb2312編碼時,乙個中文佔2個位元組,英文為1個位元組,而在utf 8編碼當...