随笔 - 6  文章 - 129  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(14)

随笔档案(6)

文章分类(467)

文章档案(423)

相册

收藏夹(18)

JAVA

搜索

  •  

积分与排名

  • 积分 - 814922
  • 排名 - 49

最新评论

阅读排行榜

评论排行榜

很早就开始用DisplayTag了,真得很方便,不用考虑分页,表格等问题。

但是有一个问题一直困扰我,就是有中文作为表单提交内容的时候,翻页就不能用了,中文变成了乱码。

表单传送时, form的提交采用的是Post方法,这没错,但链接采用的是Get方法,问题就出在这里,因为和Tomcat4相比,Tomcat5的post和get采用的方式不再相同了,汉字编码的实现方式也不同了。

Post是将地址传送一次,将form的数据单独提交,而Get则是将地址和参数一起传送,传送的不止是form的数据。

 默认情况下,Tomcat对请求采用的默认编码是ISO-8859-1,这样我们提交的汉字被认为是ISO-8859-1的编码,所以在程序中接收时显示乱码。  在过滤器中调用request.setCharacterEncoding("GBK"),那么Post上来的汉字将被认为是GBK编码,而Tomcat5对于Get请求上来的编码并不根据过滤器的设定辨认编码方式,默认的依然是ISO-8859-1,所以,即使你的页面使用默认的编码方式进行编码,然后使用ISO-8859-1进行解码,得到的结果也不对

解决方法:
在Server.xml的connector部分设定URIEncoding的值,根据编码方式指定自己的值就可以了
例如:URIEncoding="GB2312"

 




Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=679832



posted on 2007-09-15 10:34 Ke 阅读(1886) 评论(1)  编辑  收藏 所属分类: tag

FeedBack:
# re: 解决DisplayTag有中文条件时的分页问题 2009-08-16 23:39 ljm311
如果是was6.1下,该如何解决这个问题呢?我现在也遇到这个问题,烦请赐教。我用的字符集是utf-8。第一次带条件查询时没问题,翻页时出现问题,控制台打印查询语句,发现中文参数变成了乱码,请问该如何解决。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: