程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql中的字符集

mysql中的字符集

編輯:MySQL綜合教程

mysql中的字符集


概述

從本質上來講,計算機只識別二進制代碼,因此,不論計算機程序還是其處理的數據,最終都必須轉化為二進制碼,計算機才能識別。人們給每一個文字符號編碼以便計算機識別處理,這就是計算機字符集的由來。

選擇合適的字符集

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存儲字符串的方式,校對規則用來定義字符串比較方式,字符集與校對規則是一對多的關系。 MySQL有4個級別的默認設置:服務器級,數據庫級,表級,字段級。服務器級可以在MySQL配置文件(my.cnf)中設置character-set-server=utf-8;其他是創建時候設置。 對於實際應用中, 還存在客戶端和服務器之間的字符集和校對規則設置。MySQL提供3個參數設置:character_set_client、character_set_connection、character_set_results分別代表客戶端、連接、返回結果的字符集。通常不會單獨設置這3個參數,可以通過命令:set names ***來設置,還可以設置my.cnf中的default-character-set=utf-8來設置。

MySQL字符集系統變量含義如下:

mysql字符集系統變量

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved