眾所周知,UTF-8是一種國際標準的文字編碼,而GBK的主要是為了我國國情而存在的,不過GBK也將伴隨著中文字符的一直流傳下去。GBK的文字編碼是雙字節(jié)來表示的,也就是不論中、英文字符均使用雙字節(jié)來表示,只不過為了區(qū)分中文,將其最高位都定成1。
至于UTF-8編碼則是用以解決國際上字符的一種多字節(jié)編碼,它對英文使用8位(即一個字節(jié)),中文使用24位(三個字節(jié))來編碼。對于英文字符較多的論壇則用UTF-8節(jié)省空間。
GBK和UTF-8文字編碼的主要區(qū)別:
1、GBK包含全部中文字符;UTF-8則包含全世界所有國家需要用到的字符。
2、GBK是在國家標準GB2312基礎(chǔ)上擴容后兼容GB2312的標準(好像還不是國家標準);而UTF-8編碼的文字可以在各國各種支持UTF8字符集的瀏覽器上顯示。
比如,如果是用UTF8編碼,則在國外的英文IE上也能顯示中文,而無需他們下載IE的中文語言支持包。所以,對于英文比較多的論壇或者社區(qū),使用GBK每個字符占用2個字節(jié),而使用UTF-8英文卻只占一個字節(jié)。
注意:
UTF-8版本雖然具有良好的國際兼容性,但中文需要比GBK/BIG5版本多占用50%的數(shù)據(jù)庫存儲空間,因此并非推薦使用,僅供對國際兼容性有特殊要求的用戶使用。
經(jīng)常有網(wǎng)民詢問UTF-8和GBK哪個編碼好?其實這個要根據(jù)個人需要來回答,如果你主要做中文程序的開發(fā),客戶也主要是中國人的話就用GBK吧,因為UTF-8編碼的中文使用了三個字節(jié),用GBK節(jié)省了空間。
但如果是做英文網(wǎng)站開發(fā),還是用utf-8吧,因為utf-8中英文只占一個字節(jié)。GBK中英文也是兩個字節(jié)的,并且國外客戶訪問GBK要下載語言包。如果你的網(wǎng)站是中文的,但國外用戶也不少,最好也用UTF-8的吧。
總之,GBK編碼方式主要是以中國國情而創(chuàng)造的,在國際上的兼容性不好,這也是為什么大多數(shù)的網(wǎng)頁是使用UTF-8編碼而不是GBK的原因。