php substr截断汉字乱码解决办法
在php中substr是用来截取字符的,但是有朋友会发现把它来截英文字母是没有任何问题,但是如果截中文时会出现半个汉字乱码了,下面我来介绍一些解决办法.
substr() 函数返回字符串的一部分。
语法:substr(string,start,length)
实例代码如下:
<?php echo substr("Hello world!", 6); ?>
输出 world!
实例代码如下:echo substr('中国文',1);
结果就是筹码了,后来才知道中文与英文的区别在于内编码了,一个网站这样说到substr函数在截取字符时是按字节来截取的,中文字符在GB2312编码时为2个字节,utf-8编码时为3个字节,所以截取指定长度的字符串时如果截断了汉字,那么返回的结果显示出来便会出现乱码.
解决办法:1、利用mb_substr来截取,代码如下:
<?php $str = '这样一来我的字符串就不会有乱码^_^'; echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); //结果:这样一来我的字 echo "<br>"; echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); //结果:这样 ?>
但是如果要使用mb_substr截取我们需要使用使用mbstring扩展库,如果没有权限的朋友我们就可参考下面函数,代码如下:
<?php function msubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $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; } ?>
教程链接:
随意转载~但请保留教程地址★

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MySQL中如何使用TRUNCATE函數截斷數字以指定小數位數顯示在MySQL資料庫中,如果我們需要對數字進行截斷以指定小數位數顯示,可以使用TRUNCATE函數。 TRUNCATE函數可以幫助我們實現對數字進行精確的截斷,從而保留指定小數位數的資料。 TRUNCATE函數的語法如下:TRUNCATE(number,decimal_places)其中,numb

這篇文章將為大家詳細講解有關PHP返回字符串第一個字符的ASCII值,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP傳回字串第一個字元的ASCII值引言在php中,取得字串第一個字元的ASCII值是一個常見的操作,涉及到字串處理和字元編碼基礎知識。 ASCII值用於表示字元在電腦系統中的數字值,對於字元比較、資料傳輸和儲存至關重要。過程取得字串第一個字元的ASCII值涉及以下步驟:取得字串:確定要取得ASCII值的字串。它可以是變數、字串常數

這篇文章將為大家詳細講解有關PHP返回一個字符串在另一個字符串中開始位置到結束位置的字符串,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP中使用substr()函數從字串中擷取子字串substr()函數可從字串中擷取指定範圍內的字元。其語法如下:substr(string,start,length)其中:string:要從中提取子字串的原始字串。 start:子字串開始位置的索引(從0開始)。 length(可選):子字串的長度。如果未指定,則提

標題:無法截斷被外鍵約束引用的表-如何解決MySQL報錯摘要:在使用MySQL資料庫管理系統時,常常遇到無法截斷被外鍵約束引用的表的問題。本文將詳細介紹這個錯誤的原因,並提供解決方案,包括具體的程式碼範例,幫助讀者更好地理解和解決這個問題。正文:引言在資料庫設計中,外鍵是用來建立不同表之間關聯的重要機制之一。外鍵約束可以保證資料的完整性和一致性。然而,當我

使用PHP函數"substr"取得字串的子字串在PHP程式中,經常會遇到需要取得字串的部分內容的情況。這時,我們可以使用PHP內建的函數"substr"來實現。本文將介紹如何使用"substr"函數來取得字串的子字串,並提供一些程式碼範例。一、substr函數的基本用法substr函數用於從字串中取得指定長度的子字串。其基本語法如下:substr(

了解PHP中的substr()函數用於截取字串在PHP語言中,substr()函數是一個非常有用的字串處理函數,它可以用來截取指定位置和長度的字串片段。 substr()函數接受三個參數:待截取的字串、截取的起始位置、截取的長度。以下我們將詳細介紹substr()函數的使用方法,並給出具體的程式碼範例。 substr()函數的基本用法substr()函數的

PHPmb_substr函數無效的處理方案在開發PHP應用程式時,常會用到mb_substr函數來截取字串。然而,有時候可能會遇到mb_substr函數無效的情況,主要是因為在不同環境中字元編碼的問題。為了解決這個問題,我們需要對mb_substr函數進行有效的處理。常見的處理方案是透過設定適當的字元編碼和截取長度來確保mb_substr函數能

這篇文章將為大家詳細講解有關PHP將字符串的首字母轉換為小寫,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。將PHP字串的首字母轉換為小寫引言在php中,將字串的首字母轉換為小寫是一個常見的操作。可以透過使用內建函數lcfirst()或字串運算子strtolower()來實現。本指南將深入探討這兩種方法,並提供實例程式碼和最佳實務。方法1:使用lcfirst()函數lcfirst()函數專門用於將字串的首字母轉換為小寫,而其餘字元則保持不變。其文法如下:st
