字符集和比较规则
常见字符集
- ASCII字符集
- 共 128个字符
- ISO-8859-1字符集
- 共收录 256个字符, 在 ASCII字符集的基础上扩充了128个西欧常用字符 (这个字符集有一个别名
Latin1)
- 共收录 256个字符, 在 ASCII字符集的基础上扩充了128个西欧常用字符 (这个字符集有一个别名
- GB2312字符集
- 收录汉字6763个,收录其他文字符号682个。兼容ASCII字符集
- GBK字符集
- 对 GB2312字符集的扩充
- UTF-8字符集
- 几乎收录了世界上的全部字符,兼容ASCII字符集。采用变长编码,编码时使用 1~4个字节
- utf8mb3: 阉割过的 UTF-8字符集,只使用了 1~3个字节表示字符
- utf8mb4: 正宗的 UTF-8字符集,使用 1~4个字节表示字符
在mysql 中,默认的utf8 就是
utf8mb3的别名。
如果要使用4个字节的utf8,则需要手动指定 utf8mb4
查看字符集的方法
show charset
其中 default collation 指的比较规则(也就是两个字符如何比较大小)
查看比较规则
show collation
字符集和字符比较规则的应用
字符集级别
- 服务器级别
- character_set_server
- collation_server
- 数据库级别
- character_set_database
- collation_database
- 表级别
- 列级别
仅修改字符集或比较规则
- 只修改字符集,则比较规则将变为修改后的字符集默认的比较规则
- 只修改比较规则,则字符集将变成修改后的比较规则对应的字符集