完美解决IDEA/MySQL/Navicat中文乱码 编码不一致 情况

您所在的位置:网站首页 导出查询到的sql数据不一致怎么回事儿呀 完美解决IDEA/MySQL/Navicat中文乱码 编码不一致 情况

完美解决IDEA/MySQL/Navicat中文乱码 编码不一致 情况

2024-06-11 23:56| 来源: 网络整理| 查看: 265

完美解决IDEA/MySQL/Navicat中文乱码情况

文章目录 完美解决IDEA/MySQL/Navicat中文乱码情况 问题描述:查看数据库:有趣的地方来了:Navicat和Mysql编码不一致解决办法:新建连接最后需要注意的地方

问题描述:

昨天在将数据库数据显示在前端页面时出现了中文乱码,以为是前端页面的问题。经查证 前端页面 前端页面 yml配置文件 在这里插入图片描述

都没有问题,所以我sout打印了一下从数据库取出来的中文数据 在这里插入图片描述

发现取出来的时候就乱码了。看来问题出在数据库这边。

查看数据库:

在Navicat里新建查询

SHOW VARIABLES LIKE 'character%';

结果如下 在这里插入图片描述 明显是编码问题。server、results、connection、client全是latin1。我们要将它们全部改成utf8。 我的数据库版本是5.6.43 我们找到数据库的安装路径。 在这里插入图片描述 用记事本编辑my.ini。如果没有my.ini,复制一份my_default.ini然后将它们更名为my.ini。在my.ini中添加如下代码:

[client] default-character-set = utf8 [mysql] default-character-set = utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8

保存退出,win+R。运行services.msc 在这里插入图片描述 找到mysql,重启服务: 在这里插入图片描述

有趣的地方来了:

我再次在Navicat里检查字符编码

SHOW VARIABLES LIKE 'character%';

在这里插入图片描述 结果发现它一点也没变!!!!!!

后来我又在这里折腾了好久,浪费了大量的时间,它还是没变。参考别人的建议

需要新建一个数据库,新的数据库的编码才会改变过来

我新建了一个数据库,发现还是不行。

后来突发奇想,我没在Navicat上查了,我在命令行里试试。 win+R CMD 回车 敲入:

start mysql SHOW VARIABLES LIKE 'character%';

在这里插入图片描述 嘿!!!合着已经改过来了,Navicat它在骗我,浪费了我大量的时间

Navicat和Mysql编码不一致

接下来就来到了Mysql和Navicat编码不一致的情况了。很多朋友都说要新建数据库编码才会变,之前被证实了不行

解决办法:新建连接

参考了一位网友的方法,我在Navicat里新建一个连接试试。 我最初的连接是127.0.0.1 新建连接 在这里插入图片描述 编码选择自动 在这里插入图片描述

在这里插入图片描述 输入用户名密码回车,新的连接localhost_3306被创建 在这里插入图片描述 localhost_3306和127.0.0.1都是本地连接,之前创的数据库和表都是相同的,IDEA里一开始就写的 在这里插入图片描述

所以这里大家也不用担心。 然后我们在localhost_3306这个连接里新建查询 在这里插入图片描述

SHOW VARIABLES LIKE 'character%';

在这里插入图片描述 没问题了!!

最后需要注意的地方

在这里已经没有问题了,但是我再次sout时,发现输出的中文数据还是乱码。然后我打开localhost_3306中的数据库,发现localhost_3306中的表全部乱码了。虽然结构都和127.0.0.1一致,但是localhost_3306里的乱码。这里只需要重新编辑一下这些数据然后保存,sout,没问题了

在这里插入图片描述 至此乱码的问题全部解决了 总结一下我们这个问题困扰我们的几个点

数据库编码不是utf8。 参照上文,在my.ini中进行修改设置了my.ini,但是Navicat中的编码依然没变。其实已经改变了,mysql和Navicat的编码显示不一致在Navicat中新建数据库,编码还是不符合。参照上文,不要新建数据库,而是新建本地连接新建本地连接后,sout依然乱码。参照上文,新连接里的数据可能乱了,重新编辑一次然后保存。再sout就不会出错了

第一次发文章,如果有问题,还请多多指教

参考:

参考的文章,直接点击链接跳转或复制下方链接 https://blog.csdn.net/TIANTIANDOUNITIAN/article/details/100763005



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3