日期:2014-05-16  浏览次数:20314 次

jsp 乱码问题的解决
最近遇到一个乱码问题,在jsp中通过get的方式提交,但是通过request.getParameter方法得到乱码.我使用的的jetty服务器,所以一直想通过filter,jsp encoding的方式解决。尝试了n种方法都没有成功,最后没有办法,使用tomcat来测试,并修改了tomcat的server.xml
如下:
<Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
               URIEncoding="GBK" />

增加URIEncoding="GBK",问题搞定,看来jetty也可以这样去配置了。
1 楼 Emperor``炎 2008-06-12  
o,就是这么个事啊
2 楼 weilaile 2008-06-12  
这样会限制的比较死,即,所有以get方式提交的参数都必须是GBK编码的,如果碰到了UTF-8编码的参数,就没法儿解了。tomcat 默认的编码方式是iso8859-1,所以,可以使用其默认编码方式,而在需要取参数的java函数中,使用new String(request.getParameter("参数名"),"GBK");这样得到的就是正确的值了。这里的GBK可以根据参数的实际编码方式换,如换成UTF-8等。
3 楼 plmqaz098 2008-06-19  
楼主应该将request.getParameter独立为utilClass出来,通过配置识别代码转换,不要总是在jsp里面这样写,要高深一点
4 楼 bingtears 2008-07-04  
楼上的说得很好,呵呵
OO人就应该这样。