解決php中擷取字串的中文亂碼問題

2021-07-04 17:58:59 字數 531 閱讀 3618

有時候我們需要擷取一些中英文混雜的字串,比如要顯示新聞的標題,如果標題過長,我們就擷取前面的15個字,後面用...顯示

用 php 的 substr 來擷取的話,有時候就會出現亂碼現象,因為 substr 是擷取英文本串的,如果偏巧第 15 個字元為漢字的話,那末就相當於把乙個漢字給切為2半了,那這時肯定會出現亂碼

其實解決方法也很簡單:

1> php.ini 中開啟大字符集,支援多字符集之間的轉換的擴充套件

extension=php_mbstring.dll  

2> 使用 mb_substr() 函式

mb_substr( $str, 0, 15, 'utf-8' );  

這樣就能有效的解決 php 擷取字串中文亂碼問題了

補充:還可以使用 iconv_substr() 函式

iconv_substr($str, 0, 12, 'gb2312'); 

PHP 解決 php 擷取字串中文亂碼問題

有時候我們需要擷取一些中英文混雜的字串,比如要顯示新聞的標題,如果標題過長,我們就擷取前面的15個字,後面用.顯示 用 php 的 substr 來擷取的話,有時候就會出現亂碼現象,因為 substr 是擷取英文本串的,如果偏巧第 15 個字元為漢字的話,那末就相當於把乙個漢字給切為2半了,那這時肯...

中文擷取字串

echo mb substr 我abc的名字是肖巖 0,7,utf 8 我abc的名字 echo mb strcut 我abc的名字是肖巖 0,9,utf 8 我abc的 其中mb substr中的第三個引數代表字元個數,mb strcut函式中的第三個引數代表字元數,utf 8編碼下漢字3個字元 ...

php 擷取字串中的字元

php 中的substr 函式功能 返回字串的一部分。substr string,start,length 其中引數的含義 string 必需。規定要返回其中一部分的字串。start 必需。規定在字串的何處開始。正數 在字串的指定位置開始 負數 在從字串結尾的指定位置開始 0 在字串中的第乙個字元處...