1.查看当前字符集:

show variables like '%char%';

这个是用Navicat 连接的数据看的,这个看的其实不对,因为客户端(Navicat)设置的默认字符集是utf8;

应该在mysql命令行里进行查看:

命令行里实际已经显示了 我设置的正确编码 utf8mb4

windows 下设置my.ini  / linux 下设置 my.cnf;

[client]
default-character-set = utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’

在配置文件中设置好以后,重启mysql 服务,进入mysql命令行,再次执行命令 show variables like '%char%';

就可以看到新设置的utf8mb4了。

如果字符集已经设置对了,但是保存emoji表情还是不对,那么你就应该看你的项目连接mysql的时候设置的字符集是什么了,连接mysql的时候 也应该把字符集设置成 utf8mb4。

 

傻傻的用navicate看了半天的字符集,心里还总想着为啥不对呢为啥不对呢,后来才想起来用mysql的命令行看 = =

当然了,主要的问题还是我项目连接mysql的字符集忘记改了,哈哈哈~

Logo

更多推荐