idea读取数据库乱码,Navicat正常(解决)

    乱码问题困扰了我2天,菜的抠脚。先说说问题吧(你如果不想看这些废话就直接去下面解决),我先创建了数据库,拷贝了sql语句运行之后,Navicat正常显示,但是页面显示乱码(其实是中文latin1编码)。debug跟进程序,发现在hibernate读取数据库返回数据的时候就已经是乱码了。

分析:①数据库配置问题;
           ②代码出错;
           ③ide工具配置出错;
 先看数据库,发现我配置应该是没有问题的,于是就是排查代码了这玩意,这里坑的我哭容我之后再说。
 
 代码无非是连接加上编码,网上各种都试过了,无效。但是事后证明确实是正确的配置。下面附上我的配置

 jdbcUrl= jdbc:mysql://127.0.0.1:3306/数据库?useUnicode=true&characterEncoding=UTF-8 

 其他的平配置正常就可以了。
将hibernate打印的sql语句复制,在工具上运行,Navicat运行一点问题没有,显示也是中文。
之后以为是ide有问题换了eclipse,jdbc连接数据库读取数据发现老问题不行中文还是乱码。
之后是怀疑idea工具出错,附我修改完的配置

发现问题还在。没办法由于其他原因反正也想重新安装新版本的数据库就卸载mysql重装了,发现问题还没有解决。
最后用Navicat按F6出现本地mysq连接页面试了试SHOW VARIABLES LIKE 'character%';发现编码集竟然不对,没看错是的,就是不对。他是latin1编码的。
解决:删库跑路,哦不删库重连接。我也不懂为什么Navicat的连接方式会影响到数据库的正常编码。但是就是这么神奇,删掉就得连接重新连接本地数据库之后F6,查看字符编码 SHOW VARIABLES LIKE 'character%'; 页面如下

在连接,ok了。虽然问题解决了。还有个小疑问问什么Navicat连接会造成数据库编码有问题?dea直接连接的明明是数据库呀!望有大佬路过指点一下!!!!
总结:造成的原因可能是Navicat重装直接使用以前配置好的连接。
           有可能你真的配置好了,可能需要一点小小的删除重连。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值