數據庫提供了多種字符集,如Latin1、utf8、gdk、big5等。字符集指的是在同一個字符集內字符之間的比較規則。只有確定字符序後,才能在一個字符集上定義什麼是等價的字符,以及字符之間的大小關係。一個字符集可以包含多種字符序,每個字符集有個默認的字符序(default collation),每個字符唯一對應一種字符集。MySQL字符命名規則是:以字符序對應的字符集名稱開頭,以國家名居中(或以general居中),以ci、cs或bin結尾。以ci結尾的字符表示大小寫不敏感,以cs結尾的字符集表示大小寫敏感,以bin結尾的字符集序表示按二進制編碼值比較。例如:latin1字符集有latin1_swedish_ci、latin1_gengeral_cs、latin1_bin等字符序,其中在字符序latin_swedish_ci規則中,字符‘a’和“A”是等價的。
Latin1支持西歐字符、希臘字符等,gbk支持中文簡體字符,big5支持中文繁體字符,utf8幾乎支持世界上所有國家的字符。
Latin1 佔用一個字節(8位)
Gbk 佔用兩個字節
Utf8 佔用三個字節
使用MySQL命令:show character set;查看字符集。
使用MySQL命令:show variables like ‘character%’;查看當前MySQL會話使用的字符集,其中character_sets_dir 參數定義了MySQL字符集文件保存路徑
“C:\programfiles\mysql\mysql server 5.6\share\charsets”
其中,client:MySQL客戶機的字符集,默認安裝MySQL後,該值爲latin1
Connection:數據通信鏈路的字符集,當MySQL客戶機向服務器發送請求時,請求數據以該字符集進行編碼。默認安裝數據庫後,該值爲latin1
Database:數據庫字符集,默認安裝數據庫後,該值爲latin1
Filesystem:MySQL服務器文件系統的字符集,該值是固定的binary
Results:結果集的字符集,MySQL服務器向MySQL客戶機返回執行結果時,執行結果以該字符集進行編碼。默認安裝後,該值爲latin1
Server:MySQL服務器實例字符集,默認安裝MySQL後,該值爲latin1
System:元數據(字段名、表名、數據庫名等)的字符集,默認值爲utf8.
使用“show variables like ‘collation%’”查看當前MySQL會話使用的字符序。