1.在cmd中進(jìn)入mysql查看默認(rèn)的編碼格式:
mysql> show variables like "%char%";
若不是utf8(因?yàn)槲矣玫氖莡tf8),關(guān)掉mysql服務(wù),在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.刪掉重新建立一張表(之前我在原表上改動沒有成功,可能是我自己操作的原因)
分享一個經(jīng)典的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驅(qū)動 } catch (ClassNotFoundException e) { System. out .println( "驅(qū)動加載錯誤" ); e.printStackTrace();//打印出錯詳細(xì)信息 } try { url = "jdbc:mysql://localhost/test?user=root&password=yqs2602555&useUnicode=true&&characterEncoding=gb2312&autoReconnect = true" ;//簡單寫法:url = "jdbc:myqsl://localhost/test(數(shù)據(jù)庫名)? user=root(用戶)&password=yqs2602555(密碼)" ; user = "root" ; password = "yqs2602555" ; conn = DriverManager.getConnection(url, user , password ); } catch (SQLException e) { System. out .println( "數(shù)據(jù)庫鏈接錯誤" ); e.printStackTrace(); } try { stmt = conn.createStatement(); sql = "select * from dept" ;//dept這張表有deptno,deptname和age這三個字段 rs = stmt.executeQuery(sql);//執(zhí)行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( "數(shù)據(jù)操作錯誤" ); e.printStackTrace(); } //關(guān)閉數(shù)據(jù)庫 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( "數(shù)據(jù)庫關(guān)閉錯誤" ); e.printStackTrace(); } } } |
運(yùn)行結(jié)果如下:
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