溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php設(shè)置字符串編碼格式的方法

發(fā)布時(shí)間:2020-08-15 11:25:06 來(lái)源:億速云 閱讀:306 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)php設(shè)置字符串編碼格式的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

php設(shè)置字符串編碼格式的方法就是在代碼的開(kāi)始處添加一行代碼為“header("Content-Type: text/html;charset=utf-8");”即可。

php設(shè)置字符串編碼格式的方法

php 設(shè)置字符編碼為utf-8

在代碼開(kāi)始出加入一行:

header("Content-Type: text/html;charset=utf-8");

相關(guān)介紹:

PHP 字符串的本質(zhì)

引用 PHP 文檔的解釋:

PHP 中的 string 的實(shí)現(xiàn)方式是一個(gè)由字節(jié)組成的數(shù)組再加上一個(gè)整數(shù)指明緩沖區(qū)長(zhǎng)度。并無(wú)如何將字節(jié)轉(zhuǎn)換成字符的信息,由程序員來(lái)決定。字符串由什么值構(gòu)成沒(méi)有限制,包括值為 0 的字節(jié)可以出現(xiàn)在字符串的任何位置。

PHP并不特別指明字符串的編碼,那字符串到底是怎樣編碼的呢,這取決于程序員。字符串會(huì)按照 PHP 文件的編碼來(lái)對(duì)字符串進(jìn)行編碼。比如你的文件編碼是 GBK,那么你代碼內(nèi)容都是 GBK 的。

補(bǔ)充二進(jìn)制安全這個(gè)概念,其值為 0 (NULL)的字節(jié)可以處于字符串任何位置,而 PHP 的部分非二進(jìn)制函數(shù)底層是調(diào)用的 C 函數(shù),會(huì)把 NULL 后面的字符忽略。

只要 PHP 的文件編碼是能兼容 ASCII 的,那么字符串操作就可以很好的被處理。但是字符串操作本質(zhì)上還是 Native 的(不管文件編碼是什么),所以在使用的時(shí)候需要注意:

某些函數(shù)假定字符串是以單字節(jié)編碼的,但并不需要將字節(jié)解釋為特定的字符。比如 sbustr() 函數(shù)。

很多函數(shù)是需要顯示的傳遞編碼參數(shù),不然會(huì)從 PHP.INI 文件中獲取默認(rèn)值,比如 htmlentities() 函數(shù)。

還有一些函數(shù)和本地區(qū)域有關(guān),這些函數(shù)也只能是單字節(jié)操作的。

一般情況下,雖然 PHP 內(nèi)部不支持 Unicode 字符,但是支持 UTF-8 編碼,絕大部分情況下不會(huì)有什么問(wèn)題,但是下列的情況可能就處理不了了:

非 UTF-8 編碼字符串如何進(jìn)行轉(zhuǎn)換

一個(gè) UTF-8 編碼的網(wǎng)頁(yè),但是用戶在提交表單的時(shí)候,可能使用 GBK 的編碼(不遵守 meta tag)

一個(gè) UTF-8 編碼的 PHP 文件,使用 strlen("中國(guó)") 返回的是 6,而不是實(shí)際的字符數(shù)(2)

那么如何解決該問(wèn)題呢? PHP 提供了 mbstring 擴(kuò)展 !

關(guān)于php設(shè)置字符串編碼格式的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI