PHP擷取中文字串的問題

2022-10-06 15:33:18 字數 1198 閱讀 4293

以下**試用於gb2312編碼,擷取中文字串是php中乙個頭疼的問題,解決方法是根據值是否大於等於128來判斷是否是雙位元組字元,以避免出現亂碼的情況。但中英文混合、特殊符號等問題總是存在,現在寫乙個比較全面的,僅供參考:

程式說明:

1. len 引數以中文字元為標準,1len等於2個英文本元,為了形式上好看些

2. 如果將magic引數設為false,則中文和英文同等看待,取絕對的字元數

3. 特別適用於用htmlspecialchars()進行過編碼的字串

4. 能正確處理gb2312中實體字元模式(

PHP擷取中文字串的問題

以下 試用於gb2312編碼,擷取中文字串是php中乙個頭疼的問題,解決方法是根據值是否大於等於128來判斷是否是雙位元組字元,以避免出現亂碼的情況。但中英文混合 特殊符號等問題總是存在,現在寫乙個比較全面的,僅供參考 程式說明 1.len 引數以中文字元為標準,1len等於2個英文本元,為了形式上...

解決PHP擷取中文字串問題

php擷取字串如果是英文那很好辦,直接用substr就行了,一般不會出現亂碼.中文就有點麻煩了.下面給出兩種解決辦法 一 直接使用multi byte函式庫的mb substr 函式就行了,例項 如下 php echo mb substr str start length encoding echo...

PHP 擷取中文字串亂碼問題

function csubstr str,start 0,length,charset utf 8 suffix true xf0 xff x80 xbf re gb2312 x01 x7f xb0 xf7 xa0 xfe re gbk x01 x7f x81 xfe x40 xfe re big5...