昨天下午拿着自己好久之前在云服务器上配置好的docker拉了个数据库的镜像之后
用Navicat来连接数据库之后存入中文时,出现了如下乱码(简单测试一下)
之后琢磨半天也在idea的配置文件里都改为了utf-8还是没有什么用。。。。
也尝试了在idea配置文件后面加了一些语句(百度搜的)。。。结果不知名的错误。。。。。
后来查看了docker里面的文件发现了一些蹊跷👹。。。。
发现在 mysql的控制台里输入了:show variables like ‘%character%’;
查了一下并不是所有的编码都是UTF-8形式,之后开始了漫长的改代码之旅
。。。。。。。。。
********!!!!!网上流传了一个修改方式,直接在mysql控制台里面使用语句:set charactersetconnection = utf8;…
千万不要这么做!!!!!这只是一次有效!!!!重启数据库的时候还是会变回原样。。。。
我个人搜到的靠谱的做法:
1.进入my.cnf 文件夹,使用vim进行编辑添加语句
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
之后使用语句重启数据库之后就可以看到如下:
就代表已经永久修改好了。
现在我们来连接Navicat,在数据库的位置右键点击编辑,将字符集编码规则改为:utf8mb4
排序规则改为:utf8mb4generalci
在往数据库中存中文,就不会在出现???????乱码错误了!!!!😂
这个bug小编从下午3:00排到了11:00.。。分享给大家,大家不要再踩雷了!!!!
来源:CSDN
作者:爱吃代码的猫~
链接:https://blog.csdn.net/weixin_44284160/article/details/103747411