分享

解决DisplayTag有中文条件时的分页问题

 孙中熙——路 2011-08-18

很早就开始用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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多