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