多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > PHP substr 截取中文亂碼的問題解決辦法

PHP substr 截取中文亂碼的問題解決辦法

來源:程序員人生   發布時間:2013-12-20 07:10:00 閱讀次數:3367次

在php中為我們提供了幾個字符截取函數,包括substr,mb_substr,mb_strcut函數,我們有些php初學者會利用substr來截取中文,結果發現中文會有亂碼了,出現亂碼我們可以使用mb_substr來解決。

文章頁面的 description 是使用 substr 函數來截取220字符的,但是最后一個漢字總是亂碼,而且截取出來的長度也不正確。

通過神奇的 Google 找到方法,可能是因為 substr(string,start,length),會將漢字以字符的形式截斷,而造成亂碼.

解決方案:使用 PHP 擴展庫中的 mb_substr 方法。

注意:1.確保你的Windows/system32下有php_mbstring.dll這個文件,沒有就從你Php安裝目錄extensions里拷入Windows/system32里面。 

2.在windows目錄下找到php.ini打開編輯,搜索mbstring.dll,找到;extension=php_mbstring.dll把前面的;號去掉,這樣mb_substr函數就可以生效了

方法定義:string mb_substr ( string str, int start [, int length [, string encoding]] )

注意:在使用 mb_substr()/mb_strcut 最后要加入多一個參數,以設定字符串的編碼,例如:echo mb_substr(‘原本會出現亂碼的漢字!’, 0, 7, ‘utf-8′);

再如如下代碼:$description = mb_substr(strip_tags($post->post_content),0,220,’utf-8′);

mb_strcut函數:mb_strcut函數功能也可以截取字符串長度,下面實例具體看看區別在哪:

  1. <?php  
  2. $str = '這樣一來我的字符串就不會有亂碼^_^'
  3. echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8');  
  4. //結果:這樣一來我的字  
  5. echo "<br>"
  6. echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');  
  7. //結果:這樣  
  8. ?> 

從上面的例子可以看出,mb_substr是按字來切分字符,而mb_strcut是按字節來切分字符,但是都不會產生半個字符的現象。

substr()函數中文版 普通的substr()函數可以取得字符串的指定長度子字符串,但遇到中文時可能會在新字符串末尾產生亂碼,下面這個函數將超過$len長度的字符串轉換成以“...”結尾,并且去除了亂碼。 

用法:$new = getsubstring($old,20);代碼如下:

  1. function getsubstring($str,$len)  
  2. {  
  3. for($i = 0;$i <$len;$i++)  
  4. {  
  5.    if ($i >=0 AND $i <$len)  
  6.    {  
  7.     if(ord(substr($str,$i,1)) > 0xa1)  
  8.      $result_str.=substr($str,$i,2);  
  9.     else  
  10.      $result_str.=substr($str,$i,1);  
  11.    }  
  12.    if(ord(substr($str,$i,1)) > 0xa1)  
  13.     $i++;  
  14. if(strlen($str)<=$len)  
  15.    return $result_str;  
  16. else  
  17.    return $result_str."...";  
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: h视频免费在线观看 | 精品在线一区二区三区 | xxxxxx性| 亚洲精品福利 | www.在线观看视频 | 精品一区二区三区四区在线 | 国产第1页 | 丁香五月好婷婷深深爱 | 欧美成人一级毛片 | 爱爱久久 | 动漫一级毛片 | 亚洲人和日本人jzz护士 | 日本不卡一区二区三区 最新 | 国产大片免费天天看 | 亚欧成人中文字幕一区 | 久久久久欧美激情 | 欧洲精品一区二区三区在线观看 | 欧美国产精品一区二区免费 | 国产亚洲福利精品一区 | 亚洲成人黄色片 | 久久亚洲精品一区成人 | 亚洲欧美国产毛片在线 | 精品伊人久久久大香线蕉欧美 | 亚洲国产精品成人综合久久久 | 波多野结衣在线观看一区二区三区 | 日本欧美韩国专区 | 亚洲性夜夜时 | 国产精品66福利在线观看 | 亚洲国产欧美国产第一区二区三区 | 日本欧美高清 | 日韩中文欧美 | 国产乱码精品一区二区三区卡 | 色老久久精品偷偷鲁一区 | 最近手机中文字幕大全4 | 午夜欧美精品久久久久久久久 | 国产精品亚洲欧美日韩区 | 成人精品人成网站 | 国产精品久久久久国产精品三级 | 九九热国产精品视频 | 1000部禁止18观看视频在线看 | 国产视频一二 |