JSP 简单问题在于!!!!

ndyeyu 2002-04-16 09:01:33
JSP 显示SQL server 里面的数据为何出不了中文. 使用Java.net.URLEncoder.encode("")转换则出现%AB%DB%.....等.数据库里是英文则能正常显示出来.
请高手指点怎么转换(: SOS !!! 急!!
谢谢
...全文
7 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lun2001 2002-04-17
String type_name=Rst.getString("type_name");
out.print(type_name);

不要作"GB2312"转换
回复
lun2001 2002-04-17
resin+sqlserver环境:
在程序中不能有
<%@ page contentType="text/html; charset=GB2312" %>

读出来的结果不能进行转换
因为它本身就是正确的中文

String type_id=Rst.getString("type_id");
out.print(type_id);
直接显示就行了
回复
ndyeyu 2002-04-16
我按照各位的方法试了
还是不行与原来一样
以下是我的code,请大家看看怎么修改

left.jsp
<%@ include file="data.jsp"%>
<table>
<tr>
<td>
<% Rst=Stmt.executequery('select *from type order by type_order_id");
while(Rst.next())
{
String type_id=Rst.getString("type_id");
//String type_name=Rst.getString("type_name");
//String type_name=new String(Rst.getBytes("type_name"),"GB2312");
String type_name=new String((Rst.getString("type_name")).getBytes(),"GBK");
%>
<a href="music.jsp?type=<%=type_id%>"><%=type_name"%></a>.....<br>
<%
}
%>
</td>
<tr>
<table>


回复
ndyeyu 2002-04-16
我按照各位的方法试了
还是不行与原来一样
以下是我的code,请大家看看怎么修改



<%@ include file="data.jsp"%>
<table>
<tr>
<td>
<% Rst=Stmt.executequery('select *from type order by type_order_id");
while(Rst.next())
{
String type_id=rst.getString("type_id");
//String type_name=Rst.getString("type_name");
//String type_name=new String(Rst.getBytes("type_name"),"GB2312");
String type_name=new String((Rst.getString("type_name")).getBytes(),"GBK");
%>
<a href="music.jsp?type=<%=type_id%>"><%=type_name"%></a>.....<br>
<%
}
%>
</td>
<tr>
<table>
回复
jingke 2002-04-16
和jdbc有关,我用的是weblogic的jdbc,他的连接字符串为
drivers=weblogic.jdbc.mssqlserver4.Driver
//////////////////////////////////////////////////////
url=
jdbc:weblogic:mssqlserver4:172.16.48.45:1433?db=tfcqcj;weblogic.codeset=gb2312
//////////////////////////////////////////////////////
注意weblogic.codeset=gb2312在读取数据库的时候就应该解码了。
所以就显示为汉字。但是在Tomcat4.0中,在request传递的参数还没有
解码,可以用tomcat4.0中的例子中的filter解决。
回复
coollbt 2002-04-16
你在你的jsp文件第一行写上以下语句:
<%@ page contentType="text/html;charset=gb2312" %>
试试吧,oracle是没问题的。
回复
ndyeyu 2002-04-16
谢谢大家
我用的正是resin
我去改改!! (:
回复
yuanzi 2002-04-16
url后面加上?useUnicode=true&characterEncoding=gb2312 试试!这个问题应该很普遍,搜索一下。
有兴趣看看这篇文章《JSP/Servlet 中的汉字编码问题》
http://www-900.ibm.com/developerWorks/java/jsp_dbcsz/index.shtml
回复
lun2001 2002-04-16
在resin中
加入
<%@ page contentType="text/html; charset=GB2312" %>
就会乱码
去掉反而会正确显示
不知其它平台是否也会这样
回复
zxp_net 2002-04-16
是可以显示中文的,方法是:
<%@ page contentType="text/html;charset=GB2312"%>
String temp1=new String((request.getParameter("txt1")).getBytes("ISO8859_1"), "GBK");
String temp2=new String
((request.getString("uname")).getBytes("ISO8859_1"), "GBK");
灵活运用就可以了!
祝你好运!!
回复
worldheart 2002-04-16
new String(str.getBytes(),"GB2312");
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告