當前位置:首頁 » 編程語言 » php中文utf8

php中文utf8

發布時間: 2022-12-08 03:09:27

『壹』 php如何獲取中文字元串長度 utf8

PHP對中文字元串的處理一直困擾於剛剛接觸PHP開發的新手程序員。下面簡要的剖析一下PHP對中文字元串長度的處理:

PHP自帶的函數如strlen()、mb_strlen()都是通過計算字元串所佔位元組數來統計字元串長度的,一個英文字元佔1位元組。例:

$enStr = 『Hello,China!』;
echo strlen($enStr); // 輸出:12

而中文則不然,做中文網站一般會選擇兩種編碼:gbk/gb2312或是utf-8。utf-8能兼容更多的字元,所以受到很多站長的喜愛。gbk與utf-8對中文的編碼不同,導致中文在gbk與utf-8編碼下所佔位元組也有差異。

gbk編碼下每個中文字元所佔位元組為2,例:

$zhStr = 『您好,中國!』;
echo strlen($zhStr); // 輸出:12

utf-8編碼下每個中文字元所佔位元組為3,例:

$zhStr = 『您好,中國!』;
echo strlen($zhStr); // 輸出:18

那麼如何計算這組中文字元串的長度呢?有人可能會說gbk下獲取中文字元串長度除以2,utf-8編碼下除以3不就行了嗎?但是您要考慮字元串並不老實,99%的情況會以中英混合的情況出現。

這是WordPress中的一段代碼,主要思想就是先用正則將字元串分解為個體單元,然後再計算單元的個數即字元串的長度,代碼如下(只能處理utf-8編碼下的字元串):

$zhStr = 『您好,中國!』;
$str = 『Hello,中國!』;

// 計算中文字元串長度
function utf8_strlen($string = null) {
// 將字元串分解為單元
preg_match_all(「/./us」, $string, $match);
// 返回單元個數
return count($match[0]);
}

echo utf8_strlen($zhStr); // 輸出:6
echo utf8_strlen($str); // 輸出:9

『貳』 如何解決PHP在utf-8編碼下中文顯示亂碼問題

如果php文件已經在頭部設置編碼格式為utf-8,在運行的時候還出現亂碼問題,可能是由於文件編碼格式不匹配或者頭部有bom信息輸出導致亂碼。解決辦法:

  1. 設置保存文件編碼格式為utf-8;

  2. 去掉文件頭部bom信息;

『叄』 怎麼查看php文件是utf8

php如果你沒定義字元串的話都是以utf8傳遞的。如果你文件有繼承容器字元串的話就不會默認。每個編緝器都會有查看的。專業的緝編器就更加會有啦。比如Dreamweaver中,頁面屬性--標題編碼里就是了 其它的你自己找找看

『肆』 php設置成utf-8還是亂碼了怎麼辦

有時後php代碼里邊設置了「header("Content-type:
text/html;
charset=utf-8");」不一定會管用,因為有時文件本身格式就是錯誤的,你先把代碼復制到一個txt文件里邊,然後用代碼工具對php文件進行轉碼成utf-8格式(這時你就會發現里邊的代碼亂碼了,由其是中文和特殊字元),再把txt里邊的代碼復制覆蓋原來的php文件內容,然後保存即可,例如用Notepad++
工具
可以對文件本身進行轉碼

『伍』 php 怎麼將2進制數據中的中文轉換為utf-8

使用以下函數:
string iconv ( string $in_charset , string $out_charset , string $str )

例:
str1 = '漢字'; // 假設此php源文件以GBK編碼保存,那麼str1就是GBK編碼,佔4個位元組
str2 = iconv('GBK', 'UTF-8', str1); // str2是utf8編碼,佔6個位元組

說明:如果你的php源文件已經以utf8編碼保存,就不需要這樣轉換了。

其它相關函數:
mb_convert_encoding

『陸』 如何用php設置utf-8編碼

在你的源文件找到<meta http-equiv="content-type" content="text/html;charset=utf-8">charset= 後面接的就是編碼,你全部改了就可以了。如果你改了之後變成亂碼的話,那你就只能先建一個utf-8編碼的網頁,把相應的內容重新輸入進去。

『柒』 php中用utf8編碼輸出中文就是亂碼

header("Content-Type: text/html; charset=utf-8");
可以省略,因為在meta已經定義了。
亂碼的原因是保存文件時,文件的編碼與顯示編碼不一致,只要另存為一次就好了

『捌』 怎樣設置php的編碼格式為utf-8

在 PHP 編寫過程中,一般需要注意的是三種編碼:
1、網頁字元編碼
2、文件字元編碼
3、資料庫字元編碼
只有上面3種編碼的格式都一致的情況下,才會盡可能的避免亂碼的出現。
二、如何使用Notepad++軟體設置UTF-8編碼:
用 Notepad++ 軟體打開指定的 php 文檔後,在「格式」菜單下找到「以UTF-8格式編碼"
以xxx編碼的意思是不強制轉換文件的編碼,僅僅以某種編碼來查看,不會對文件進行修改,這對打開某個文件發現都是亂碼時非常實用。
轉為xxx編碼的意思就是將文件內容強制轉換為某種編碼,這對於本來看到的就不是亂碼但需要調整右下角的文件編碼時非常好用。

『玖』 PHP中GBK和UTF8編碼是怎麼回事

GBK編碼,是中國通用,UTF-8是國際通用
GBK是定長編碼,占兩個位元組,UTF-8是變長編碼,佔3到6位元組。不過目前來說UTF-8隻用到三位元組,還沒擴展到3位元組以上
如果你還需要進一步理解,請搜索它們各自的編碼規則

『拾』 在PHP中,匹配中文utf8的正則表達式

$str = "編程";
// if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF-8漢字字母數字下劃線正則表達式
if(!preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) //UTF-8漢字字母數字下劃線正則表達式
{
echo "<font color=red>您輸入的[".$str."]含有違法字元</font>";
}
else
{
echo "<font color=green>您輸入的[".$str."]完全合法,通過!</font>";

}

熱點內容
c緩存池 發布:2025-01-20 13:23:45 瀏覽:6
數控編程帥氣寶塔圖紙 發布:2025-01-20 13:22:15 瀏覽:871
共享文件夾加密軟體 發布:2025-01-20 13:08:41 瀏覽:40
標識符是怎樣存儲的 發布:2025-01-20 13:08:39 瀏覽:894
怎麼看安卓大屏什麼牌子 發布:2025-01-20 13:08:35 瀏覽:258
ios開發java 發布:2025-01-20 13:02:42 瀏覽:881
速騰有側燈的是哪個配置 發布:2025-01-20 13:01:53 瀏覽:371
社保用戶名和密碼都忘記了怎麼辦 發布:2025-01-20 12:55:55 瀏覽:321
最優存儲形式是什麼 發布:2025-01-20 12:51:32 瀏覽:27
centos編譯php7 發布:2025-01-20 12:33:52 瀏覽:920