查看数据库的编码格式

1
2
3
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
SHOW VARIABLES Like '%char%'

修改配置文件my.cnf

1
2
3
4
5
6
7
8
[mysqld]
character-set-server=utf8mb4

 

[mysql]
default-character-set=utf8mb4

 

[client]
default-character-set=utf8mb4

如果不知道配置文件在哪里的话可以根据一下命令查找

1
2
3
mysqld --verbose --help|grep -A 1 'Default options'
或者是执行:
mysql --verbose --help|grep -A 1 'Default options'

 

从上图可以看出, 服务器首先会读取/etc/my.cnf文件,如果发现该文件不存在,再依次尝试从后面的几个路径进行读取。

修改配置文件后保存,并重启mysql服务

1
2
3
service mysqld restart
service mysql restart

如果数据库、表已经创建可以直接修改数据库或表的编码格式

查看数据表的编码格式

1
show create table <表名>;

修改数据库的编码格式

1
mysql>alter database <数据库名> character set utf8mb4;

修改数据表格编码格式

1
alter table <表名> character set utf8mb4;

修改字段编码格式

1
alter table <表名> change <字段名> <字段名> <类型> character set utf8mb4;


转自:https://www.cnblogs.com/rainerl/p/10950472.html