91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中substr()截取中文字符亂碼的問題怎么解決

發布時間:2021-08-09 18:14:47 來源:億速云 閱讀:157 作者:chen 欄目:開發技術

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

首先要明確這么一個問題,之所以會出現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的,一個中文字符占三個字節:

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

东台市| 龙游县| 平湖市| 永顺县| 开江县| 平江县| 满洲里市| 准格尔旗| 西乌| 安陆市| 凤台县| 禄丰县| 彭泽县| 昌黎县| 项城市| 古浪县| 海门市| 金寨县| 凤冈县| 大邑县| 金沙县| 博罗县| 界首市| 新安县| 锡林郭勒盟| 庄浪县| 营山县| 株洲县| 如东县| 当雄县| 紫金县| 长乐市| 呼图壁县| 施甸县| 河曲县| 新巴尔虎右旗| 蒙城县| 乌兰县| 乐昌市| 玉屏| 宝清县|