bsp;rs;
//加载驱动程序,下面的代码为加载MySQL驱动
程序 Class.forName(\"com.mysql.jdbc.Driver\");
//
注册MySQL驱动
程序 DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//用适当的驱动
程序连接到数据库
String dbUrl = \"jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312\";
String dbUser=\"root\";
String dbPwd=\"1234\";
//建立数据库连接
con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
//创建一个JDBC声明
stmt = con.createStatement();
//增加新记录
stmt.executeUpdate(\"INSERT INTO books (id,name,title,price) VALUES (’999’,’Tom’,’Tomcat Bible’,44.5)\");
//
查询记录
rs = stmt.executeQuery(\"SELECT id,name,title,price from books\");
//输出
查询结果
out.println(\"<table border=1 width=400>\");
while (rs.next())
{
String col1 = rs.getString(1);
String col2 = rs.getString(2);
String col3 = rs.getString(3);
float col4 = rs.getFloat(4);
//convert character encoding
col1=new String(col1.getBytes(\"ISO-8859-1\"),\"GB2312\");
col2=new String(col2.getBytes(\"ISO-8859-1\"),\"GB2312\");
col3=new String(col3.getBytes(\"ISO-8859-1\"),\"GB2312\");
//打印所显示的数据
out.println(\"<tr><td>\"+col1+\"</td><td>\"+col2+\"</td><td>\"+col3+\"</td><td>\"+col4+\"</td></tr>\");
}
out.println(\"</table>\");
//删除新增加的记录
stmt.executeUpdate(\"DELETE FROM books WHERE id=’999’\");
//关闭数据库连结
rs.close();
stmt.close();
con.close();
}
//捕获错误信息
catch (Exception e) {out.println(e.getMessage());}
%>
</body>
</html>
//对了,关键的地方就在于红色的代码部分。第一个红色部分用来在连接
//数据库的URL时就指定好字符编码
//为了保险起见,我们在往网页上输出时,即第二部分红色代码部分。
//这个主要是当我们知道JDBC使用的字符编码时,我们可以把数据库中的字符提取出来的
//时候强制转换为我们想要的比如GB2312
--------------------------------------------------------------------------------------------------------------------------
OK这样就可以确保我们解决中文字符的输出问题了!