Java 插入 MySQL 数据乱码问题
逐步排查
数据库服务默认编码
show variables like 'character%';
看是否有非utf8的属性。修改MySQL配置文件:
[mysqld]
character-set-server=utf8
数据库表字符集
一段测试数据库插入的代码
String Url = "jdbc:mysql://localhost/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";//参数参考MySql连接数据库常用参数及代码示例
String name = "root";//数据库用户名
String psd = "";//数据库密码
String jdbcName = "com.mysql.jdbc.Driver";//连接MySql数据库
String sql = "insert into test values(?,?)";//数据库操作语句(插入)
try {
Class.forName(jdbcName);//向DriverManager注册自己
Connection con = DriverManager.getConnection(Url, name, psd);//与数据库建立连接
PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理
pst.setString(1, "中文1111");
pst.setInt(2, 123123213);
pst.executeUpdate();//解释在下
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {//执行与数据库建立连接需要抛出SQL异常
// TODO Auto-generated catch block
e.printStackTrace();
}
1,314 total views, 2 views today
Revisions
- 2020年6月19日 @ 13:14:51 [当前版本] by Anson
- 2020年6月19日 @ 13:14:34 by Anson
- 2020年6月19日 @ 13:14:21 [自动保存] by Anson
- 2020年6月19日 @ 12:00:44 by Anson
Comments are closed.