花了大半天,终于解决了MySql5.0.12的中文乱码问题.
(我用的是:MySql5.0.12 和 mysql-connector-java-3.1.10-bin.jar)
把基本代码列出来(注意粗体蓝色部分):
1.在mysql中建表:
mysql> create table stud(
-> name varchar(20) not null,
-> password varchar(20) not null)
-> TYPE=MyISAM,
-> default character set gb2312;
2.java代码:
......
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=lk&useUnicode=true&characterEncoding=gb2312");
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql = "insert into stud(name,password) values(‘张三‘,‘abcd‘)";
stmt.executeUpdate(sql);
sql = "select * from stud";
ResultSet rst = stmt.executeQuery(sql);
while (rst.next()) {
System.out.println(rst.getString("name"));
}
}
......
3,登陆MySql后,用"select * from stud"来查看记录,如果发现还是乱码的话,应该这样登陆MySql:
mysql --default-character-set=gb2312 -u root -p
在console里就能正常显示stud表的中文了.
mysql> select * from stud; +------+----------+ | name | password | +------+----------+ | 张三 | abcd | +------+----------+ 1 row in set (0.00 sec) |
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=487457