request.setCharacterEncoding(UTF"/>
request.setCharacterEncoding(UTF
servlet设置好这个编码,在什么情况下起作用的?
一般我们都把这个设置在filter层设置,随着时间的流逝,就认为只要设置这个编码,容器就会响应的请求的数据按着设置好的编码执行。实际上错了,这个编码既然一般放在过滤器,还是有一定道理的。其实是再SERVLET处理请求之前,经过过滤器时以我们设置的编码对数据做了编码。如果没设置TOMCAT是按默认的ISO-8859-1编码。
如果业务中出现乱码,切记不要再其他位置随意的设置setCharacterEncoding,想反在业务中处理要使用new String(req.getParameters("xxxx").getBytes("iso-8859-1"), "gb2312");
以上过滤器类只能保证post提交方式能正确解码。get方式依然会出问题
转载于:
更多推荐
request.setCharacterEncoding(UTF
发布评论