Mysql4.1.7中文解决方案

类别:Java 点击:0 评论:0 推荐:
数据库:Mysql4.1.7
JDBC:mysql-connector-java-3.0.16-ga-bin.jar
测试环境:win2000sp4

1)修改my.ini文件,在[client]项下加入:default-character-set=gbk(这句不加也可以),然后在[mysqld]项下加入:default-character-set=gbk。
 2)重新启动数据库,登陆后用show global variables命令查看变量是不是变为gbk
 3)建立相应的表
 4)这样在java程序中:
  String url="jdbc:mysql://localhost/test"; //?useUnicode=true&characterEncoding=GBK
  String user="root";
  String password="mysqlroot";
  String inserttestencoding="insert test123 values(3,'你好','这是一个java客户端')";
  Class.forName("org.gjt.mm.mysql.Driver");
  con= DriverManager.getConnection(url,user,password);  
  stmt = con.createStatement();
  stmt.execute(inserttestencoding);
  System.out.println("ID:"+rs.getString("ID")+" NAME:"+rs.getString("NAME")+" ADDRESS:"+rs.getString("ADDRESS"));
 5)唯一缺陷是在commond line 下进入mysql查看数据表中数据时,是乱码,但在Mysql control center 中正常显示为中文
 6)JSP中的使用:
   <%@ page contentType="text/html;charset=gb2312"%>
   <html>
   <body>
   <%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
   String url ="jdbc:mysql://localhost/test?user=root&password=mysqlroot";
   Connection conn= DriverManager.getConnection(url);
   Statement stmt=conn.createStatement();
   String sql="select * from test123";
   String sqlinsert="insert into test123 values(15,'你好','jsp的页面')";
   stmt.executeUpdate(sqlinsert);
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) {%>
   您的第一个字段内容为:<%=rs.getString(1)%>
   您的第二个字段内容为:<%=rs.getString(2)%>
   <%}%>
   <%out.print("数据库操作成功,恭喜你\n");%>   
   <%rs.close();
   stmt.close();
   conn.close();
   %>
   </body>
   </html>

本文地址:http://com.8s8s.com/it/it12809.htm