怪异的中文问题,令我困惑已久,求个帮忙

晃晃悠悠_HW 2003-09-11 11:40:49
上一页面传值:
<center><a href="download.jsp?para=<%=filename%>"><%=filename%></a></center>
下一页面download.jsp:
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%
String fileName=new String(request.getParameter("para").getBytes("8859_1"),"gb2312");
out.println(fileName);
显示出来的居然是乱码,我用的是resin服务器,以前使用resin或tomcat还真没遇到这么辣手的中文问题,请高手帮忙
...全文
34 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
晃晃悠悠_HW 2003-09-11
  • 打赏
  • 举报
回复
to:dooluby(蓝色)
是的,我以前用resin几乎不出现中文问题
to:ejbcreate()
filename!=null而且用你下边那句话,还是乱吗
to:gks_cn(981530)
我想用连接打开以连接内容为名字的word文件,要是用表单提交就不方便了
gks_cn 2003-09-11
  • 打赏
  • 举报
回复
<center><form action="download.jsp" method=post><input type=hidden name=filename value=<%=filename%>><input type=submit value="去"></center>
gks_cn 2003-09-11
  • 打赏
  • 举报
回复
用get来传中文,绝对要出问题,除了用为软的iis
ejbcreate 2003-09-11
  • 打赏
  • 举报
回复
用连接来传参数,应该编一下码(应该检查一下filename是不是null先,因为如果为null,filename.getBytes("GBK")会抛异常的。):
<center><a href="download.jsp?para=<%=java.net.URLEncoder.encode(new String(filename.getBytes("GBK"), "iso8859-1"))%>"><%=filename%></a></center>

在下一页直接取回来就行了:
String fileName=request.getParameter("para");

试试上面的方法,应该可以解决你的问题了。
dooluby 2003-09-11
  • 打赏
  • 举报
回复
我记得在Resin里面就不用考虑中文问题呀,你只需要在页面一开始有<%@ page language="java" contentType="text/html;charset=gb2312"%>就可以了,其他的在不需要转化。

try:
String fileName=request.getParameter("para");
晃晃悠悠_HW 2003-09-11
  • 打赏
  • 举报
回复
to:dooluby(蓝色)
这个方法我已经试过了,可惜不行,我怀疑是不是resin的配置问题,或者除了毛病,呵呵,请继续关注
dooluby 2003-09-11
  • 打赏
  • 举报
回复
to: yadongzhang(张栋)
String str=rs.getString("sitename");
str=new String(str.getBytes("GB2312"),"ISO-8859-1");

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧