在mysql5.0裏終於把中文亂碼問題解決了

花了大半天,終於解決了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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章