问题排查:记一次JPA向MySql数据库更新(插入)中文数据乱码的问题

背景

今天观看《SpringCloud实战》视频,练习扣库存操作时,在做库存更新时,使用JPA操作MySql进行数据更新操作,发现更新后的数据中文乱码。

百度找了好几篇文章,解决办法都是在数据库链接的URL后指定编码集,即:

url: jdbc:mysql://vmserver/SpringCloud_Sell?characterEncoding=UTF-8&useSSL=false

但是!我发现我的yml中就是这样配置的!于是尝试了将MySql的编码集从utf8mb4改为utf8,结果还是乱码!于是继续百度寻找解决办法。

原因分析

当我找到问题的原因时,真是哭笑不得...

造成乱码的原因是,characterEncoding拼写错误,写成了characterEnconding,多了个字母"n"。这完全是由于马虎造成的,并且在找到正确的解决方案后没有仔细核对自己的配置是否与别人提供的方案一致,导致错过正确解决办法。

下面附上错误的配置项截图:

解决问题

将characterEnconding中多写的"n"去掉,再次运行单元测试,数据库中文不再乱码,一切恢复正常!

问题总结

一定要吸取马虎的教训,由于粗心大意造成的后果就是耽误了很多时间去解决一个非常简单的问题,以后一定要认真!认真!认真!

原文地址:https://www.cnblogs.com/zkm1992/p/10819511.html