mysql数据库支持emoji表情特殊字符
文章目录
一、背景问题
- 问题:mysql数据库设置为utf8mb4后仍然无法插入表情符号
- 原因:mysql配置文件中没有设置utf8mb4并重启服务
在排查的过程中,先在本地尝试,后在linux上尝试,接下来记录一下完整的设置编码流程
二、window下设置utf8mb4
1.修改mysql配置文件
- 进入dos,进入Mysql, 输入 select @@basedir;
注:如果mysql命令无法使用,win10左下角可以直接搜索mysqlClient
- 修改my.ini文件
- 修改如下配置
2.重启mysql服务
- 进入任务管理器,在服务中找到mysql,右键重启
3.设置库、表字符集
-
设置库字符集
alter database mydatabase default character set uft8mb4; -
设置表字符集
alter table mytable convert to character set utf8mb4;
三、linux下设置utf8mb4
1.修改配置
- 文件位置 /etc/my.cnf
- vi my.cnf增加如果配置
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld] vi
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
2.重启服务
-
重启命令
systemctl restart mysqld.service
-
mariadb的重启
systemctl restart mariadb
3.设置库、表字符集
-
设置库字符集
alter database mydatabase default character set uft8mb4; -
设置表字符集
alter table mytable convert to character set utf8mb4;