tomcat中对于get方式请求的乱码问题。
mylzw 2005-09-15 01:14:49 无论使用request.setCharacterEncoding();
还是使用网上盛传的SetCharacterEncodingFilter过滤器
都无法解决get请求的中文参数乱码问题——它们只对post方法提交的表单有作用。
自始至终,我都是通过更改tomcat的配置文件解决问题的,在conf/server.xml中增加URIEncoding="GBK"。
还有人用比较另类的办法,那就是new String(xxx.getBytes("ISO-8859-1"),"gbk")来逆向编码。
这是对tomcat的屈服。~ 为什么要迁就tomcat的ISO-8859-1编码?另外,这种方法如果硬性的写到了代码中,对于以后的部署十分不利。假设部署到了一台URIEncoding="GBK"的tomcat上,那么乱码问题还会出现。
对于post请求,可以通过request.setCharacterEncoding();来设置编码。
对于get请求,为什么tomcat只依赖于server.xml配置中的URIEncoding属性(默认的是ISO-8859-1)?
这样的话,在部署web应用的时候,就只能祈祷对方的tomcat服务器中的URIEncoding已经按我预想的那样设置了。
最好的办法,就是不在get请求中用中文。。。
难道就这么无奈吗?有没有方法能够在程序中设置针对get请求的编码呢?