Mysql4.1.7中文解决方案

王朝网络·java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

数据库: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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有