用jsp连接mysql显示中文时出现乱码
最近趁着下岗没事干,学了一点JSP,鼓弄了半天终于连上了MYSQL,不过发现从MYSQL中搜索出的中文显示不了。全是???。上网搜了一下发现MY
SQL中不支持UNICODE只支持ISO-88591,于是天才的我想出了解决的办法:)把搜索出来的字符串转成字节数组,然后用这个字符数组创建一个GB2312的字符串。
<%=newString(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=========================
<%@pagecontentType="text/html;charset=GBK"%>
<%@pagelanguage="java"import="java。sql。*"%>
<%
java。sql。Connectionconn;
java。lang。StringstrConn;
Class。forName("org。gjt。mm。mysql。Driver");
conn=java。sql。DriverManager。getConnection("jdbc:mysql:///people","root","000000");
Statementstmt=conn。createStatement();
ResultSetrs=stmt。executeQuery("SELECT*FROMt_1");
%>
<%
for(inti=0;rs。next();i++){
%>
<%=newString(rs。getString(2)。getBytes("iso8859-1"),"gb2312")%>
<
>
<%}%>
===========================表的结构==============================
#--------------------------------------------------------
#
#表的结构`t_1`
#
CREATETABLE`t_1`(
`id`int(4)NOTNULLdefault’0’,
`name`char(20)NOTNULLdefault’’,
`phone`int(20)defaultNULL,
PRIMARYKEY(`id`)
)TYPE=MyISAM;
#
#导出表中的数据`t_1`
#
INSERTINTO`t_1`VALUES(1,’我不是’,2147483647);
INSERTINTO`t_1`VALUES(2,’猪’,2147483647);
=====================================================================
OK,写完了。。。。懂的人看起来肯定很简单,(责任编辑:admin)
点击查看更多 [java] [乱码] [jsp] [mysql]
(本文来源) https://www.netded.com/a/jishuyingyong/2009/1113/5053.html
版权声明:
作者:[db:作者]
链接:https://www.shoujiroot.com/archives/23479.html
来源:手机教程
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论