jdbc插入mysql中文乱码的问题
public class Test {
public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String connStr = "jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=UTF-8";
String dbUser = "root";
String dbPassword = "123456";
conn = DriverManager.getConnection(connStr, dbUser, dbPassword);
if (conn != null) {
System.out.println("连接成功");
stat = conn.createStatement();
stat.execute("drop database test_db");
stat.execute("create database test_db CHARACTER SET UTF8");
stat.execute("use test_db");
stat.execute("create table if not exists test_info( role_id int primary key auto_increment, role_name varchar(50) not null)default charset=UTF8");
stat.execute("insert into test_info(role_name) values ('测试')");
rs = stat.executeQuery("select * from test_info");
while (rs.next()) {
System.out.println(rs.getInt("role_id")+" : "+rs.getString("role_name"));
}
} else {
System.out.println("连接失败");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
stat.close();
conn.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
麻烦兄弟们看看,为什么上面一段代码查询出来的会是乱码呢?我在数据库中查询也是乱码。我数据库使用的编码是UTF-8的,连接字符串、数据库、表,都是使用的UTF-8。
public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String connStr = "jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=UTF-8";
String dbUser = "root";
String dbPassword = "123456";
conn = DriverManager.getConnection(connStr, dbUser, dbPassword);
if (conn != null) {
System.out.println("连接成功");
stat = conn.createStatement();
stat.execute("drop database test_db");
stat.execute("create database test_db CHARACTER SET UTF8");
stat.execute("use test_db");
stat.execute("create table if not exists test_info( role_id int primary key auto_increment, role_name varchar(50) not null)default charset=UTF8");
stat.execute("insert into test_info(role_name) values ('测试')");
rs = stat.executeQuery("select * from test_info");
while (rs.next()) {
System.out.println(rs.getInt("role_id")+" : "+rs.getString("role_name"));
}
} else {
System.out.println("连接失败");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
stat.close();
conn.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
麻烦兄弟们看看,为什么上面一段代码查询出来的会是乱码呢?我在数据库中查询也是乱码。我数据库使用的编码是UTF-8的,连接字符串、数据库、表,都是使用的UTF-8。
...全文
相关推荐
java插入mysql中文乱码解决
java插入mysql中文乱码解决
Mysql插入中文乱码问题解决
个人总结了遇到使用Mysql数据库插入中文时产生乱码问题的解决方法
java向mysql插入数据乱码问题的解决方法
主要为大家详细介绍了java向mysql插入数据乱码问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JDBC连接mysql乱码异常问题处理总结
主要介绍了JDBC连接mysql乱码异常问题处理的办法和思路,有需要的朋友参考学习下。
JDBC连接mysql处理中文时乱码解决办法详解
主要介绍了JDBC连接mysql处理中文时乱码解决办法详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下


