JSP 通过URL传递汉字,为奇数个,最后一个为乱码?为偶数个,则正常显示?

feyyee 2009-07-23 08:23:05
JSP 通过URL传递汉字,为奇数个,最后一个为乱码?为偶数个,则正常显示?
怎么解决啊。
我用的TOMCAT
...全文
714 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
feyyee 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bao110908 的回复:]
参考:

中文乱码问题,jsp页面get方法传递奇数个中文字符时出现乱码,偶数时正常
UTF8编码环境下通过URL传递中文乱码问题
url中文参数传递乱码,搞不明白!
ISO-8859-1转utf-8——jsp中传递中文参数的问题

……
[/Quote]


我的问题自己解决了,跟大家分享一下

我找了很多方法,我原先是这么做的:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%
request.setCharacterEncoding("gb2312");
%>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

可是看到编码类型都设置为gb2312
但是不行。

后来我终于发现解决的办法了。
先前的链接汉字的参数放在了中间某个位置了

http://localhost:8080/demo/04_3.jsp?id=956735625267&name=故我依然&pageNo=15


而现在将汉字参数放在最后,则解决!!!

http://localhost:8080/demo/04_3.jsp?id=956735625267&pageNo=15&name=故我依然


现在汉字为奇数个或者偶数个都能正常显示了
  • 打赏
  • 举报
回复
该问题仅存在于 IE 中,Firefox 没有这种问题。
  • 打赏
  • 举报
回复
这种问题的提问比率仅次于 String 产生了多少个对象!类似的问题你在 CSDN 一搜可以搜到。

方法一:使用 URLEncoder.encode 进行编码
方法二:使用 c:url 的 c:param
方法三:使用 JavaScript 的 encode 函数
andytom 2009-07-23
  • 打赏
  • 举报
回复
lz的这种情况没碰见过,要不这样转码试试看
String str = request.getParameter("XX");
str = new String(str.getBytes("ISO8859_1"),"GBK");

不过这样写比较麻烦,还是写个过滤器好点
derta2009 2009-07-23
  • 打赏
  • 举报
回复
有关奇偶乱码 我倒是没见过 一般汉字乱码写个过滤器
码YouMe 2009-07-23
  • 打赏
  • 举报
回复
编码问题,写个过滤器吧。。。

81,094

社区成员

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

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