mysql字符集的区别(mysql字符集和校对规则)
导语:MYSQL笔记-02字符集和比较规则
一、什么是字符集
计算机中存储二进制数据,字符集就是现实中字符与计算机保存的二进制数据互为翻译的字典。例如ASCII字符集。
L:01001100
M:01001101
二、一些重要的字符集
ASCII收录了128个字符,包括空格、标点符号、数字、大小写英文字母等一些不可见字符。用一个字节进行编码。
ISO 8859-1收录256个字符,在ASCII基础上扩充了128个西欧常用字符。用一个字节进行编码。另名:Latin1
GB2312收录了汉字(6763个)、拉丁字母、希腊字母、日本平假名及片假名字母、俄语西里尔字母。兼容ASCII字符集。如果为ASCII字符集,用一个字节编码,否则2个字节编码。读取时、字节在0-127内,为ASCII字符,大于127为两字节代表一个单独的字符。
GBK兼容GB2312,在GB2312扩充。
UTF-8几乎所有使用的字符。在不断扩充中。兼容ASCII字符集,编码使用1-4字节。UTF8只是Unicode字符集的一种编码方案,Unicode可使用UTF-8,UTF-16,UTF-32几种方案。UTF-16使用2-4字节编码,UTF-32使用4字节编码。
mysql8以前版本UTF-8为utf8mb3,即UTF-8阉割版,使用1-3字节表示字符。
utf8mb4为正宗的UTF-8字符集,mysql8.0默认的utf8即该字符集,之前uft8为utf8mb3。不同点:utf8mb4可保存emoji表情。
mysql字符集查看:
show charset [like 匹配的模式]
三、比较规则
mysql比较规则查看
show collation [like 匹配的模式]
例如:utf8_general_ci, uft8_bin
命名规则:
1、字符集名称开头
2、比较规则所有的语言。如:utf8_polish_ci.
3、后缀表示比较规则:
mysql字符集及比较规则有4个级别,分别为:服务器级别、数据库级别、表级别、列级别。
本文内容由快快网络小奈创作整理编辑!