字符集與字元比較
字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示;
我們常說的字符集還是gbk、iso***、utf8;
mysql 我們使用得最多的字符集就是gbk 和 utf8了;他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他的字元可能會是2個、3個、4個位元組;
mysql中的utf8 有3種, utf-8字符集位元組長度範圍:1-4個位元組,utf-16字符集位元組長度範圍:2-4個位元組,utf-32就是使用4個位元組;
我們通常說的utf8就是指utf8mb3,只使用1-3個位元組來儲存;
show charset; 可以檢視mysql服務能支援的所有字符集;
字元比較規則
每種字符集都有自己的比較規則;也可能支援多種比較規則;
show collation like 『%utf%』; 來檢視utf的比較規則;
字尾英文釋義描述
_aiaccent insensitive不區分重音
_asaccent sensitive區分重音
_cicase insensitive不區分大小寫
_cscase sensitive區分大小寫
_binbinary以二進位制方式比較
小結:1、修改字符集可能會影響字元的比較規則
2、修改字元的比較規則可能會影響字串
3、他們都可應用於:伺服器、庫、表、列
character_set_server(database),collation_server(database)
4、客戶端呼叫伺服器的字元變化:
系統變數描述
character_set_client伺服器解碼請求時使用的字符集
character_set_connection伺服器處理請求時會把請求字串從character_set_client轉為character_set_connection
character_set_results伺服器向客戶端返回資料時使用的字符集
5、不同字符集聯表會向上轉型:
a表(utf8) 連 b表(utf8mb4 ) b表可以走索引,
m表(utf8mb4) 連 k表(utf8 ) k表不會走索引
mysql字符集 MySQL字符集選擇
一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...
mysql字符集修改 MySql字符集修改
問題分析 普通的字串或者表情都是佔位3個位元組,所以utf8足夠用了,但是移動端的表情符號佔位是4個位元組,普通的utf8就不夠用了,為了應對無線網際網路的機遇和挑戰 避免 emoji 表情符號帶來的問題 涉及無線相關的 mysql 資料庫建議都提前採用 utf8mb4 字符集,這必須要作為移動網際...
mysql字符集問題 mysql字符集遇到的問題?
character introducer 翻譯過來就是字元引導。也就是針對字串,顯式的給定乙個字元編碼和排序規則,不受系統引數的影響。語法很簡單 charset name string collate collation name 示例 字串 北京加油 字符集 utf8mb4,排序規則 utf8mb...