通过url传递中文字符乱码问题

kulasama 2004-09-24 07:19:06
我有一句跳转语句
response.sendRedirect("success.jsp?message=删除帖子成功 &url=http://127.0.0.1")
传到success.jsp页面。。jsp页面代码如下。。
<%@ page contentType="text/html;charset=gb2312"%>
<%String message=request.getParameter("message");
message= new String(message.getBytes("gb2312"),"ISO8859_1");

String url=request.getParameter("url");
%>
<html>
<head>
<title>success</title>
</head>
<body>
<%=message%>
<p>
<a href="<%=url%>">返回刚才的页面</a>
</body>
</html>
结果通过message传过来的中文值显示的是乱码
问怎么才能让jsp页面显示中文。。
...全文
569 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
禽兽v5 2004-09-27
  • 打赏
  • 举报
回复
不客气。
kulasama 2004-09-26
  • 打赏
  • 举报
回复
ha ..已经搞定了。。在头一个页面不能进行编码的问题。。。谢谢你拉。。散分了
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
睡觉了,good luck。
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
tomcat环境编码改为gb2312

这步作了?
kulasama 2004-09-25
  • 打赏
  • 举报
回复
这次有进步了。。不过还是乱码。。
乱码是??????×?????
success.jsp
是<%@ page contentType="text/html;charset=gb2312"%>
<%
response.setContentType("text/html; charset=gb2312");

request.setCharacterEncoding("gb2312");
%>
<%
String message=request.getParameter("message");
String url=request.getParameter("url");
int forumID=0;
%>
<html>
<head>
<title>success</title>
</head>
<body>
<%=message%>
<p>
<a href="<%=url%>">返回刚才的页面</a>
<li><a href="index.jsp">返回论坛首页</a>
<meta http-equiv="refresh" content="3; url=forum.jsp?forumID=<%=forumID%>">
</body>
</html>
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
html部分加上
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>

是为了保证浏览器编码直接定为中文,但是不会导致里面的中文乱码。

产生的现象是你可能看到显示乱码,然后在页面上点右健,发现编码是iso_8859-1,接着改成gb2312,中文显示正常。
kulasama 2004-09-25
  • 打赏
  • 举报
回复
我qq是115645232.
我现在开始怀疑是环境的问题了。。。
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
你回复太快!我跟不上
kulasama 2004-09-25
  • 打赏
  • 举报
回复
我的是5.0.12的。。你的是?
要不你加我qq 我把代码发给你看看?如果麻烦的话就算了。。
kulasama 2004-09-25
  • 打赏
  • 举报
回复
恩。。o k
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
那你可以只encode中文部分。try it
kulasama 2004-09-25
  • 打赏
  • 举报
回复
还有。。我的两个页面都是放在同一个文件夹的
kulasama 2004-09-25
  • 打赏
  • 举报
回复
html没有加meta..
我就是用的<%
response.setContentType("text/html; charset=gb2312");

request.setCharacterEncoding("gb2312");
%>
我怀疑success.jsp?message=....中的问号也被编码了。。从而系统生成了一个url为message /delete/..%2Fsuccess.jsp%3Fmessage%3D%C9%BE%B3%FD%CC%FB%D7%D3%B3%C9%B9%A6+%26url%3Dhttp%3A%2F%2F127.0.0.1
的页面。。而这个页面当然不存在。。。所以才会出现上面的错误。。
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
不会,我做得所有项目都加了,html部分也加上meta那段。你刚才的代码是这段吗?

response.sendRedirect(java.net.URLEncoder.encode("success.jsp?message=删除帖子成功 &url=http://127.0.0.1", "gb2312"));


可能是相对路径不对,检查一下。看看是否需要改成 "../success.jsp"
kulasama 2004-09-25
  • 打赏
  • 举报
回复
我在两个页面上都用了
<%
response.setContentType("text/html; charset=gb2312");

request.setCharacterEncoding("gb2312");
%>
应该不会出问题吧
kulasama 2004-09-25
  • 打赏
  • 举报
回复
我用的是encode(String,"gb2312")格式。。
结果错误是
type Status report

message /delete/success.jsp%3Fmessage%3D%C9%BE%B3%FD%CC%FB%D7%D3%B3%C9%B9%A6+%26url%3Dhttp%3A%2F%2F127.0.0.1

description The requested resource (/delete/success.jsp%3Fmessage%3D%C9%BE%B3%FD%CC%FB%D7%D3%B3%C9%B9%A6+%26url%3Dhttp%3A%2F%2F127.0.0.1) is not available.

可是我明明有success.jsp页面
为什么 ?
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
encode(String,"gb2312")
禽兽v5 2004-09-25
  • 打赏
  • 举报
回复
不会吧,厥倒。我也是5.0.x系列。
kulasama 2004-09-25
  • 打赏
  • 举报
回复
结果就上不了网了。。
我市tomcat5.0的。。
我的端口是80
所以我看的是connector(80)
可是我的connector(80)上没有URI Encoding参数。。
kulasama 2004-09-25
  • 打赏
  • 举报
回复
不好意思。。服务器昨天突然关了。。。555555555555555555
加载更多回复(23)

81,091

社区成员

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

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