6 mysql 中的字符集

2021-09-11 09:54:19 字數 1195 閱讀 5923

從本質上來講,計算機只識別二進位制**,因此,不論電腦程式還是其處理的資料,最終都必須轉化為二進位製碼,計算機才能識別。人們給每乙個文字元號編碼以便計算機識別處理,這就是計算機字符集的由來。

mysql5.6支援幾十種字符集,包括ucs-2、utf-16、utf-16le、utf-32、utf-8、utf8mb4等unicode字符集,選擇字符集可以考慮如下幾個因素:

滿足應用支援語言需求,如果應用需要處理各式各樣的文字,應該選擇unicode編碼,對於mysql,建議為utf-8;

如果應用中涉及已有資料匯入,要充分考慮資料庫字符集對已有資料的相容性。

如果資料庫只需要支援一般中文,資料量大,效能要求較高,那可以選擇雙位元組定長編碼的中文字符集,比如gbk,因為相對於utf-8,gbk比較小,每個漢字只佔2個位元組,utf-8漢字需要3個位元組;相反,如果主要處理英文本元,選擇utf-8更好,因為gbk,ucs-2,utf-16中的西文字元編碼都是2個位元組。

如果資料庫需要做大量的字元運算,選擇定長字符集更好一些。

如果所有的客戶端程式都支援相同的字符集,則優先選擇該字符集作為資料庫的字符集。

常用字符集比較:

字符集比較

mysql支援在同一臺伺服器,同乙個資料庫,甚至同乙個表的不同欄位都可以使用不同的字符集。

mysql字符集包括字符集校對規則;其中字符集用來定義mysql儲存字串的方式,校對規則用來定義字串比較方式,字符集與校對規則是一對多的關係。

mysql有4個級別的預設設定:伺服器級,資料庫級,表級,字段級。伺服器級可以在mysql配置檔案(my.cnf)中設定character-set-server=utf-8;其他是建立時候設定。

對於實際應用中, 還存在客戶端和伺服器之間的字符集和校對規則設定。mysql提供3個引數設定:character_set_clientcharacter_set_connectioncharacter_set_results分別代表客戶端、連線、返回結果的字符集。通常不會單獨設定這3個引數,可以通過命令:set names ***來設定,還可以設定my.cnf中的default-character-set=utf-8來設定。

mysql字符集系統變數含義如下:

mysql字符集系統變數

6 mysql中的字符集

從本質上來講,計算機只識別二進位制 因此,不論電腦程式還是其處理的資料,最終都必須轉化為二進位製碼,計算機才能識別。人們給每乙個文字元號編碼以便計算機識別處理,這就是計算機字符集的由來。mysql5.6支援幾十種字符集,包括ucs 2 utf 16 utf 16le utf 32 utf 8 utf...

mysql 集群字符集 Mysql 字符集

字符集與字元比較 字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示 我們常說的字符集還是gbk iso utf8 mysql 我們使用得最多的字符集就是gbk 和 utf8了 他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他...

mysql字符集 MySQL字符集選擇

一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...