欢迎大家关注我的公众号,有问题可以及时和我交流。
前言
在使用MySQL的时候我对数据进行插入的操作,但是后台显示是乱码,通过DEBUG查看数据没有问题,怀疑是MySQL服务器的原因,然后使用命令查看了一下MySQL的编码设置。
show variables like 'character%';
可以看到 “character_set_database” 和 **“character_set_server”**都是MySQL系统默认的编码。将他们更该即可。
1.踩坑的尝试
也从网上进行查询修改措施了,但是好多方法都是错误的,这里不做具体解释,罗列一下错误的方法:
1.1 错误方法一
直接在SQL窗口里面设置编码也就是网上说的
set character_set_results = gbk;
1.2 错误方法二
修改配置文件
vim /etc/my.cnf
这个方法不能说是错的,但是好多都是说在哪个位置添加什么字符编码设置这个也是错误的,执行之后MySQL服务都起不来。
1.3 错群方法三
还有的是说版本不同设置不同,如:
服务器端默认字符集设置,在[mysqld]下面添加:
5.5.19版本的是: character_set_server
之前的版本的是: default-character-set
尝试过了,并不行。
2.正确办法
其实修改配置文件是正确的方法,但是需要注意的是如果配置文件中只包含了[mysqld]并没有其他选项只需要修改这一个即可:
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
参考完整解释
欢迎大家关注我的公众号,有问题可以及时和我交流。