java 写入数据库乱码

问题描述

今天使用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

你可能感兴趣的:(mysql,java)