字符集
- 字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等;
- 字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见的字符集有ASCII、GB2312、GBK、 GB18030、Unicode等;
- 计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。
字符集 | 描述 |
---|---|
ASCII | 最简单的西文编码方案,主要用于显示现代英语和其他西欧语言;使用1个字节表示,可表示128个字符。 |
GB2312 | 国家标准简体中文字符集,兼容ASCII;使用2个字节表示,能表示7445个符号,包括6763个汉字,几乎覆盖所有高频率汉字。 |
GBK | GB2312的扩展,加入对繁体字的支持,兼容GB2312;使用2个字节表示,可表示21886个字符。 |
GB18030 | 解决了中文、日文、朝鲜语等的编码,兼容GBK;采用变字节表示(1 ASCII,2,4字节),可表示27484个文字。 |
Unicode | Unicode是国际标准编码字符集,为世界650种语言进行统一编码,兼容ISO-8859-1;Unicode字符集有多个编码方式,分别是UTF-8,UTF-16和UTF-32。 |
MySQL支持的字符集
utf8mb4
- MySQL在5.5.3之后增加了utf8mb4编码,mb4是most bytes 4的缩写,专门用于兼容四字节字符,如Emoji表情,部分中文“”。MySQL中的utf8是utf8mb3的别名,utf8mb4兼容utf8,且比utf8能表示更多的字符。MySQL 8.0将utf8mb4作为默认字符集。
设置字符集
# 1、创建数据库时指定字符集
create database database_name charset utf8;
# 查看数据库的字符集
show create database database_name;
# 2、创建表时指定字符集
create table table_name(
…,
) default charset=utf8;
# 查看数据库表的字符集
show create table table_name;
# 3、设置字段的字符集
create table table_name(
…,
key_name varchar(16) charset utf8,
…,
);
知识总结,交流学习,不当之处敬请指正,谢谢!