mysql乾貨——數據庫字符集和校對規則詳解

mysql乾貨——數據庫字符集和校對規則詳解

一、什麼是字符集
字符是多個文字和符號的總稱,包括各個國家的文字、標點符號、圖形符號、數字等。字符集多個字符的集合。
字符集合種類較多,每個字符集包含的字符的個數不同。對於字符集不支持的字符,則以亂碼顯示。
常見的字符集有ASCII字符集、GBK字符集、GB2312字符集、GB18030字符集、Unicode字符集、BIG5字符集等。
ASCII:是基於羅馬字母表的一套電腦編碼系統,主要顯示英語和其他英語語言,它採用的是1字節低七位來表示,高位始終爲0;
GB2312:是中國國家標準的簡體中文字符集,它採用的是雙字節來表示。
GB18030:是對GB2312的擴充,它採用的時單字節、雙字節和四字節三種形式來表示。
Unicode:是計算機科學領域的一項業界標準,支持了所有國家的文字字符。
utf-8是Unicode的其中一種常用的使用方式,是一種針對Unicode可變長度的字符編碼,又稱萬國碼。
utf-16採用16位來表示,utf-32採用32位來表示。
二、什麼是校對規則
校對規則是在字符集內用於比較字符的一套規則,比如有的區分大小寫,有的則無視。
不同的字符集有着不同的校對規則。命名約定通常以字符集名稱開頭,並以_ci,_cs,_bin結束。
針對字符集utf8的的校對規則有20餘種,通用的有以下三種,也是utf8常用的三種。
(1) utf8_general_ci
case insensitive 不區分大小寫,字符集utf8默認的校對規則。
(2) utf8_general_cs
case sensitive 區分大小寫
(3) utf8_bin
binary 二元法,直接比較的字符編碼,可以區分大小寫,因爲字符集的‘A’和'a'的編碼顯然不同。

mysql針對字符集和校檢規則的一些操作指令
#顯示mysql支持的所有字符集
show charset;
#顯示mysql支持的所有的校對集
show collattion;
#顯示當前數據庫使用的校檢規則
show variables like “collation_%”;

在mysql5.7.23版本中字符集有41種,校對規則有222種,並且mysql還在不斷的爲其增加中,版本越高支持的字符集和校對規則越多。
文章來自:https://www.itjmd.com/news/show-3225.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章