欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

17.字符集

程序员文章站 2024-03-21 16:41:22
...

1.字符集
字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见的字符集有ASCII、GB2312、GBK、 GB18030、UniCode等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。

字符集 描述
ASCII 最简单的西文编码方案,主要用于显示现代英语和其他西欧语言。使用1个字节表示,可表示128个字符
GB2312 国家标准简体中文字符集,兼容ASCII。使用2个字节表示,能表示7445个符号,包括6763个汉字,几乎覆盖所有高频率汉字
GBK GB2312的扩展,加入对繁体字的支持,兼容GB2312。使用2个字节表示,可表示21886个字符
GB18030 解决了中文、日文、朝鲜语等的编码,兼容GBK。采用变字节表示,可表示27484个文字
Unicode Unicode是国际标准编码字符集,统一世界650种语言的编码,兼容ISO-8859-1。Unicode字符集有多个编码方式,分别是UTF-8,UTF-16和UTF-32

2.MySQL支持的字符集

show character set;

17.字符集

3.设置数据库字符集

#创建数据库时指定字符集
create database databaseName character utf8 collate utf8_general_ci;

#查看数据库的字符集
show create database databaseName;

#修改数据库的字符集
alter database databaseName default character set utf8;

4.设置数据表字符集

#创建表时指定字符集
create table tableName
(
...
) default charset = utf8;

#查看数据库的字符集
show create table tableName;

#修改数据表的字符集
alter table tableName convert to character set utf8;

5.设置字段字符集

#创建字段时指定字符集
create table tableName(
..., 
name varchar(50) not null charset utf8, 
...
);

#修改字段字符集
alter table tableName modify name char(10) character set utf8;

6.utf8mb4
MySQL在5.5.3之后增加了utf8mb4编码,mb4是most bytes 4的缩写,专门用于兼容四字节字符, 如Emoji表情。MySQL中的utf8是utf8mb3的别名,utf8mb4兼容utf8,且比utf8能表示更多的字符。MySQL8.0将utf8mb4作为默认字符集。

相关标签: 从头开始学MySQL