今天在做spring-boot项目测试时,发现插入到数据库中的数据乱码:
于是开始了地毯式的搜查问题原因:
(1)首先看看后台接收数据有出现乱码没有,结果发现编码OK,没问题。
(2)接着看了下,是不是数据库的编码问题,OK,两个都是utf8,没问题。
(3)那咱们再看看是不是Hibernate自动创建的表有问题?是不是把String类型的字段到数据库中设置编码不对呢?
还是没问题!优秀!varchar类型的字段都是utf8编码。
(4)都没问题!怎么办?老办法,试试链接地址后面加字符编码再试试看!
(5)然而并没什么软用,该乱码的还是要乱。
(6)然后抱着最后一个希望,看看是不是mysql配置文件my.ini中字符集对不对,但一时又想不起mysql的安装目录再哪里了,
真实够悲催的!于是又到网上搜刮了一条可以查看mysql安装路径的sql语句:show variables like "%char%"
(摘自:https://www.cnblogs.com/yanan7890/p/7245809.html)
嘿,没想到还真能找到安装目录,优秀!
(7)复制这个目录到本地路径进行访问,最后选择父目录 C:\Program Files\MySQL\MySQL Server 5.6,就能够看到my.ini文件了;
(8)用编辑器打开文件,发现里面确实没有字符集编码设置,mysql默认编码是拉丁文,现在加上utf8字符集配置语句。
增加语句为:character-set-server=utf8
(9)保存配置语句,然后重启mysql服务(不会重启的看这里:https://blog.csdn.net/sunnyzyq/article/details/86705181),
再次插入数据,这下终于解决了字符乱码的问题,优秀!完美!