在mybait下连接mysql数据库执行insert操作时,出现中文数据乱码问题的解决

环境:
IDEA
Navicat for Mysql
mysql 5.7


今天在学习mybatis的相关操作时,遇到了insert操作时出现中文乱码的问题

首先大家都知道这是一个字符集编码的冲突问题
于是我将所有的编码全部修改为了utf8

关键让人纳闷的是:修改之后mysql的编码和数据库以及数据库对应表的各个列的字符集编码都是utf8,然而运行代码插入时都是乱码!!!但是在客户端自己写insert语句却不会出现乱码!!!(wsl~)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

所以我就iu纳闷了~~~~

好吧,最后试了好多次,发现是上面的字符集修改之后,是只能在这次打开的生命周期内有效,下次重启客户端之后,字符集又变回原来的gbk了!!!
(修改mysql的字符集编码要在配置文件my.ini中修改)

解决方案:
我并未去my.ini中修改为utf8
而是在idea连接数据库的url中添加了字符集编码设置为utf8:
在这里插入图片描述
(注意:在xml中不能直接识别&符号,而是要识别&amp为&符号)

形象的来说,相当于:在代码中传入的数据是gbk,但是连接数据库之后将数据转换成utf8即成功了

在这里插入图片描述
(不得不感慨swtc!!!,以前类似的问题也遇到了很多次,但解决后都没有系统的总结,所以这次就小小的总结了一下····)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值