1. 程式人生 > 其它 >MySQL的UTF-8編碼總結

MySQL的UTF-8編碼總結

mysql裡中文佔多少個位元組?
1. 一箇中文漢字佔多少位元組與編碼有關:
UTF8:一箇中文漢字=3個位元組,英文字母1位元組,每個字元最多佔3位元組;
GBK:一箇中文漢字=2個位元組,英文字母佔1位元組,每個字元最多佔2個位元組;
2.varchar(n)能儲存幾個漢字?
varchar(n)表示n個字元,無論漢字和英文,Mysql都能存入n個字元,僅是實際位元組長度有所區別
3.MySQL怎麼檢查長度(佔的位元組數)?
可用SQL語言中length函式:select LENGTH(fieldname) from tablename
說明:
UTF-8:Unicode Transformation Format-8bit,允許含BOM,但通常不含BOM。是用以解決國際上字元的一種多位元組編碼,它對英文使用8位(即一個位元組),中文使用24為(三個位元組)來編碼。UTF-8包含全世界所有國家需要用到的字元,是國際編碼,通用性強。UTF-8編碼的文字可以在各國支援UTF8字符集的瀏覽器上顯示。如,如果是UTF8編碼,則在外國人的英文IE上也能顯示中文,他們無需下載IE的中文語言支援包。


GBK 是國家標準GB2312基礎上擴容後相容GB2312的標準。GBK的文字編碼是用雙位元組來表示的,即不論中、英文字元均使用雙位元組來表示,為了區分中文,將其最高位都設定成1。GBK包含全部中文字元,是國家編碼,通用性比UTF8差,不過UTF8佔用的資料庫比GBD大。

郭慕榮部落格園