字符集就是一套文字符号及其编码、比较规则的集合。
MySQL服务器可以支持多种字符集,在同一台服务器、同一个数据库甚至同一个表的不同字段都可以使用不同的字符集。
MySQL5.7默认字符集latin1,MySQL8.0默认字符集为utf8mb4。utf8mb4时utf8的超集,兼容4字节的unicode。utf8mb4编码格式:英文1字节,中文3字节,特殊符号4字节。
MySQL的字符集和校对规则有4个级别的默认设置:服务器级、数据库级、表级和字段级。
mysql> show character set;
mysql> show variables like ‘%character%’;
mysql> create database mytestdb charset utf8;
mysql> show create database mytestdb;
mysql> alter database mytestdb charset utf8;
mysql> create table test(id int primary key, name varchar(20)) charset utf8;
mysql> show create table test;
mysql> alter table test charset utf8;
mysql> alter table test modify name varchar(20) charset utf8;