pager-taglib get接收值乱码问题!

我在用pager-taglib的 带条件查询分页的时候遇到个乱码问题想不通。

首先在ie中查询出来的 地址是这样子的:
[img]http://dl.iteye.com/upload/attachment/530939/c9496757-0c96-3a3a-97ff-aaf0a3027723.jpg[/img]
在火狐中查询出来地址是这样子的:
[img]http://dl.iteye.com/upload/attachment/530941/ff566ebe-cb3c-3c47-bbf7-0223d2f2958c.jpg[/img]

ie 不能把中文编码 转换出来,但是火狐能够嘛,看火狐地址 知道 name属性绝对没有乱码,但是我把url地址进入struts2的action中的时候 我取到的name属性就是乱码了,这是什么原因呢?请大家指点哈

4个回答

在使用get方式提交时,可以从地址栏里看到提交的参数,这是因为get方式传递是作为报文头提交的,浏览器会对非ASCII参数进行编码的。而过滤器字符编码对报文头是没有作用的,所以出现了乱码问题。而post提交的是form表单的内容,过滤器字符编码指定了它的编码,所以他会按照指定编码传递。

你服务器是tomcat么?
如果是 试试这个方法
修改服务器的配置server.xml文件如下所示:
[code="java"] connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />[/code]

如果不行 那就对如get只能单独编码了
[code="java"] request.setCharacterEncoding("UTF-8");[/code]

两种URL都是正常的.网络传输的时候就是IE显示的那个样子,火狐只是显示的时候更人性化了.
加个编码过滤器吧.

:lol:
把所有的编码统一,
如果还不行再弄个 Filter

[quote]我在action中 如果在进行一次编码 就不得乱码,为什么页面编码都是UTF-8,但是体积的时候就是ISO-8859-1呢? [/quote]
就是这个样子的,除非你用Post方式提交,不要跟在URL后面传参数。
任何特殊的字符(就是那些不是简单的七位ASCII,如汉字) 将以百分符%用十六进制编码. 当然也包括象 =, &, 和 % 这些特殊的字符.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐