数据库的内容是由朋友写的爬虫爬取出来的内容,汉字部分一切正常
上面两个图是数据库中表的属性,似乎已经全部设置成utf8了,
java debug和以及java文件和工程编码之类的也都调成utf8了。
但一由java提取出来并且输出到控制台测试之后就全变成乱码了
代码应该也没问题,很头疼,求大神指导!拜托!万分感谢,代码如下
public static final String url = "jdbc:mysql://localhost:3306/test?&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false";
public static final String name = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "*********";
public Connection conn = null;
public PreparedStatement pst = null;
public MySQLConnect(String sql) {
try {
Class.forName(name);// 指定连接类型
conn = DriverManager.getConnection(url, user, password);// 获取连接
pst = conn.prepareStatement(sql);// 准备执行语句
} catch (Exception e) {
e.printStackTrace();
}
}
public void close() {
try {
this.conn.close();
this.pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
static String sql = null;
static MySQLConnect db1 = null;
static ResultSet ret = null;
public static void main(String[] args) {
sql = "select *from test";//SQL语句
db1 = new MySQLConnect(sql);//创建DBHelper对象
try {
ret = db1.pst.executeQuery();//执行语句,得到结果集
while (ret.next()) {
String uid = ret.getString(1);
String ufname = ret.getString(2);
String ulname = ret.getString(3);
String udate = ret.getString(4);
System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );
}//显示数据
ret.close();
db1.close();//关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
}