问题描述
今天使用JDBC
来操作数据库,
数据库字符集,表字符集都采用gbk
作为编码了,
校对集也设置gbk
的了,
但是数据库操作的时候更改数据还是乱码,
用Navicat for Mysql
查看运行结果时发现插入的中文都出现了乱码都变成了???,英文正常。
原因
链接数据库是URL的填写方式出错,错误的代码
con = DriverManager.getConnection("jdbc:mysql:///usersinfo", "root", "root");
解决方法:在URL中查询字符串中指定字符集
正确的代码:在url中指定字符集。
con = DriverManager.getConnection("jdbc:mysql:///usersinfo?characterEncoding=gbk", "root", "root");
这样操作就不会出现乱码了。
参考博客:https://blog.csdn.net/forest_open/article/details/48195339