jsp连接mysql 并正常显示中文

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

最近趁着下岗没事干,学了一点JSP,鼓弄了半天终于连上了MYSQL,不过发现从MYSQL中搜索出的中文显示不了.全他妈是???.上网搜了一下发现MY

SQL中不支持UNICODE只支持ISO-88591,于是天才的我想出了解决的办法:)把搜索出来的字符串转成字节数组,然后用这个字符数组创建一个GB2312的字符串.

<%=new String(rs.getString(2).getBytes("iso8859-1"),"gb2312")%>

反正很简单我也不过多解释.

下面附上所有代码. 可能有的人不知道怎么用JSP连接数据库.

其中people 是数据库的名称 root 是用户名 000000 是密码

另外需要一个mysql的jdbc驱动.我用的是:mysql-connector-java-3.0.15-ga-bin.jar

网上到处可以找到,只需要把这个文件下载下来放在你这个jsp文件所在的目录中\WEB-INF\lib下就可以了.

=========================testmysql.jsp=========================

<%@ page contentType="text/html; charset=GBK" %>

<%@ page language="java" import="java.sql.*"%>

<%

java.sql.Connection conn;

java.lang.String strConn;

Class.forName("org.gjt.mm.mysql.Driver");

conn= java.sql.DriverManager.getConnection("jdbc:mysql:///people","root","000000");

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT * FROM t_1");

%>

<%

for(int i=0;rs.next();i++){

%>

<%=new String(rs.getString(2).getBytes("iso8859-1"),"gb2312")%>

<br>

<%}%>

===========================表的结构==============================

# --------------------------------------------------------

#

# 表的结构 `t_1`

#

CREATE TABLE `t_1` (

`id` int(4) NOT NULL default '0',

`name` char(20) NOT NULL default '',

`phone` int(20) default NULL,

PRIMARY KEY (`id`)

) TYPE=MyISAM;

#

# 导出表中的数据 `t_1`

#

INSERT INTO `t_1` VALUES (1, '我不是', 2147483647);

INSERT INTO `t_1` VALUES (2, '猪', 2147483647);

=====================================================================

OK,写完了....懂的人看起来肯定很简单,

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