網頁編碼英文譯為web page encoding,是在網頁中指定其特定的字元編碼格式的函式庫。
GBK是國家標準GB2312基礎上擴容後相容GB2312的標準。 GBK的文字編碼是用雙字節來表示的,即不論中、英文字符均使用雙字節來表示,為了區分中文,將其最高位都設定成1。 GBK包含全部中文字符,是國家編碼,通用性比UTF8差,不過UTF8佔用的資料庫比GBK大。
UTF-8:Unicode TransformationFormat-8bit,允許含BOM,但通常不含BOM。是用以解國際上字元的一種多位元組編碼,它對英文使用8位元(即一個位元組),中文使用24為(三個位元組)來編碼。 UTF-8包含全世界所有國家需要用到的字符,是國際編碼,通用性強。 UTF-8編碼的文字可以在各國支援UTF8字元集的瀏覽器上顯示。如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支援包。
UTF-8版本雖然具有良好的國際相容性,但中文需要比GBK/BIG5版本多佔用50%的資料庫儲存空間,因此並非建議使用,僅供對國際相容性有特殊要求的用戶使用。簡單來說:對於中文較多的網站,適合用GBK編碼節省資料庫空間。對於英文較多的網站,適合用UTF-8節省資料庫空間。
GBK、GB2312等與UTF8如何轉換? GBK、GB2312等與UTF8之間都必須透過Unicode編碼才能相互轉換:GBK、GB2312——Unicode——UTF8;UTF8——Unicode——GBK、GB2312。使用Windows記事本的“另存為”,可以在GBK、Unicode、Unicode big endian和UTF-8這幾種編碼方式間相互轉換。
如何讓瀏覽器正確辨識網頁編碼?一般在網頁中都要有以下一句話:,指示此網頁的字元集編碼是GB2312。 (或UTF-8)
頁面有時候指定了編碼為什麼有時會出現亂碼?這可能是頁面申明編碼與文件本身編碼不一致,更多時候是以錯誤編碼打開頁面然後保存導致的,或者是用某些FTP軟體直接在線修改文件,比如CuteFTP,由於軟體編碼配置錯誤而導致轉換錯了編碼。這時候使用window的記事本打開,用「另存為」儲存為對應的編碼即可解決問題。
在windows作業系統上使用IE作為瀏覽器時,常常會發生這樣的問題:在瀏覽使用UTF-8編碼的網頁時,瀏覽器無法自動辨識該頁面所用的編碼,即使網頁已經聲明過編碼格式:,由此造成某些含有中文UTF-8編碼的頁面產生空白輸出。如果使用的是Firefox、Sarafi的瀏覽器這不會造成這個問題。這是由於IE解析網頁編碼時以HTML內的標籤優先,而後才是HTTP header內的訊息,而mozilla系列的瀏覽器則剛好相反。
由於UTF-8為3個位元組表示一個漢子,而普通的GB2312或BIG5是兩個。頁面輸出時,由於上述原因,使瀏覽器解析、輸出
以上是具體介紹GBK以及UTF-8編碼的正確使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!