最近在写一个小demo的时候,直接使用的老师给的配置文件,在进行插入和修改数据的时候,发现中文·都变成了???的形式。于是打开调试debug,发现在插入或者更新之前的操作都是中文字符正常的,因此将目标定在mybatis配置文件或者MySQL配置文件中(建数据库的时候选择的是utf-8,所以就先排除了此原因)。
修改之前数据库连接配置:
driver-class-name: com.mysql.cj.jdbc.Driver
#基本属性
url: jdbc:mysql://***/***?charset=utf8mb4&useSSL=false
username: root
password: 123456
修改为下列形式后就可以正常使用了:
driver-class-name: com.mysql.cj.jdbc.Driver
#基本属性
url: jdbc:mysql://***/***?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: 123456
看到这里发现不太对劲了,上面一个也是使用的utf-8,而且后缀加了mb4,下面是一个博主对两种进行介绍的文章:(这里不是此原因,感兴趣的可以看一下两种的区别)
https://www.cnblogs.com/gaogao67/p/11356558.html
其实需要使用characterEncoding=utf-8而并非charset=utf8。。。。