1.在cmd中进入mysql查看默认的编码格式:
mysql> show variables like "%char%";
若不是utf8(因为我用的是utf8),关掉mysql服务,在my.ini中添加
1
2
3
4
5
6
7
8
|
[client]
default - character - set =utf8
[mysqld]
default -storage-engine=INNODB
character - set -server=utf8
collation-server=utf8_general_ci
[mysql]
default - character - set =utf8
|
2.eclipse中的编码格式是否为utf8
3.如果还是不可以,检查mysql客户端表格的编码方式
1
|
show create table tablename
|
如果不是utf-8.删掉重新建立一张表(之前我在原表上改动没有成功,可能是我自己操作的原因)
分享一个经典的JDBC连接MySQL的程序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
import java.sql. Connection ;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLConnection {
public static void main(String[] args) {
Connection conn = null ;
Statement stmt = null ;
ResultSet rs = null ;
String url = null ;
String user = null ;
String password = null ;
String sql = null ;
try {
Class.forName( "com.mysql.jdbc.Driver" ); //加载mysq驱动
} catch (ClassNotFoundException e) {
System. out .println( "驱动加载错误" );
e.printStackTrace();//打印出错详细信息
}
try {
url =
"jdbc:mysql://localhost/test?user=root&password=yqs2602555&useUnicode=true&&characterEncoding=gb2312&autoReconnect = true" ;//简单写法:url = "jdbc:myqsl://localhost/test(数据库名)? user=root(用户)&password=yqs2602555(密码)" ;
user = "root" ;
password = "yqs2602555" ;
conn = DriverManager.getConnection(url, user , password );
} catch (SQLException e) {
System. out .println( "数据库链接错误" );
e.printStackTrace();
}
try {
stmt = conn.createStatement();
sql = "select * from dept" ;//dept这张表有deptno,deptname和age这三个字段
rs = stmt.executeQuery(sql);//执行sql语句
while(rs. next ()) {
System. out .print(rs.getInt( "deptno" ) + " " );
System. out .print(rs.getString( "deptname" ) + " " );
System. out .println(rs.getInt( "age" ) + " " );
}
} catch (SQLException e) {
System. out .println( "数据操作错误" );
e.printStackTrace();
}
//关闭数据库
try {
if(rs != null ) {
rs. close ();
rs = null ;
}
if(stmt != null ) {
stmt. close ();
stmt = null ;
}
if(conn != null ) {
conn. close ();
conn = null ;
}
} catch(Exception e) {
System. out .println( "数据库关闭错误" );
e.printStackTrace();
}
}
}
|
运行结果如下:
1 yqs 0
2 hello 0
3 yqsshr 0
4 world 0
5 hryspa 0
1 yqs 0
2 hello 0
3 yqsshr 0
4 world 0
5 hryspa 0
1 yqs11 21
1 yqs21 31
1 yqs31 41
1 yqs41 51