php中substr()截取中文字符亂碼的問題怎么解決-創(chuàng)新互聯

本篇內容介紹了“php中substr()截取中文字符亂碼的問題怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創(chuàng)新互聯憑借在網站建設、網站推廣領域領先的技術能力和多年的行業(yè)經驗,為客戶提供超值的營銷型網站建設服務,我們始終認為:好的營銷型網站就是好的業(yè)務員。我們已成功為企業(yè)單位、個人等客戶提供了成都做網站、網站制作、成都外貿網站建設服務,以良好的商業(yè)信譽,完善的服務及深厚的技術力量處于同行領先地位。

首先要明確這么一個問題,之所以會出現IE6偶爾無法加載CSS的現象,是因為文件出現了亂碼,導致后面的加載CSS的link無法被IE6正確解析。因此就看到了一個純HTML頁面,沒有CSS,赤裸裸!明確了問題,剩下的問題就好解決了,就是防止亂碼,既然萬戈所提供的函數出現了亂碼,就重新去找了一個php函數來解決這個亂碼的問題。


substr()函數可以分割文字,但要分割的文字如果包括中文字符往往會遇到問題。


mb_substr()這個函數的用法與substr()相似,只是在最后要加入多一個參數,以設定字符串的編碼。


通過這里大幾就應該理解我改進萬戈方法的原因了~~


下面再介紹幾個更高級處理辦法

例1


代碼如下

function func_chgtitle($str,$len) { //$length我們允許字符串顯示的較大長度 
 $tmpstr = "";
 $strlen = $len;
 for($i = 0; $i < $strlen; $i++) {
 if(ord(substr($str, $i, 1)) > 0xa0) {
 $tmpstr .= substr($str, $i, 2);
 $i++;
 } else
 $tmpstr .= substr($str, $i, 1);
 }
 return $tmpstr;
}

例2


字符串編碼為UTF-8的,一個中文字符占三個字節(jié):


public static function chinesesubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置,$len指字符串長度


$strlen = $start + $len; // 用$strlen存儲字符串的總長度,即從字符串的起始位置到字符串的總長度

代碼如下

 for($i = $start; $i < $strlen;) {
 if (ord ( substr ( $str, $i, 1 ) ) > 0xa0) { // 如果字符串中首個字節(jié)的ASCII序數
值大于0xa0,則表示漢字
 $tmpstr .= substr ( $str, $i, 3 ); // 每次取出三位字符賦給變量$tmpstr,即等
于一個漢字
 $i=$i+3; // 變量自加3
 } else{
 $tmpstr .= substr ( $str, $i, 1 ); // 如果不是漢字,則每次取出一位字符賦給
變量$tmpstr
 $i++;
 }
 }
 return $tmpstr; // 返回字符串
 }

“php中substr()截取中文字符亂碼的問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯網站,小編將為大家輸出更多高質量的實用文章!

網頁題目:php中substr()截取中文字符亂碼的問題怎么解決-創(chuàng)新互聯
標題鏈接:http://bm7419.com/article44/djhhee.html

成都網站建設公司_創(chuàng)新互聯,為您提供搜索引擎優(yōu)化響應式網站、網站設計公司、電子商務面包屑導航、企業(yè)網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網頁設計公司