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

环境:
IDEA
Navicat for Mysql
mysql 5.7

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

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

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

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

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

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

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

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

解决方案:
我并未去my.ini中修改为utf8
而是在idea连接数据库的url中添加了字符集编码设置为utf8:
在mybait下连接mysql数据库执行insert操作时,出现中文数据乱码问题的解决
(注意:在xml中不能直接识别&符号,而是要识别&amp为&符号)

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

在mybait下连接mysql数据库执行insert操作时,出现中文数据乱码问题的解决
(不得不感慨swtc!!!,以前类似的问题也遇到了很多次,但解决后都没有系统的总结,所以这次就小小的总结了一下····)