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