servlet设置好这个编码,在什么状况下起做用的? post
通常咱们都把这个设置在filter层设置,随着时间的流逝,就认为只要设置这个编码,容器就会响应的请求的数据按着设置好的编码执行。实际上错了,这个编码既然通常放在过滤器,仍是有必定道理的。实际上是再SERVLET处理请求以前,通过过滤器时以咱们设置的编码对数据作了编码。若是没设置TOMCAT是按默认的ISO-8859-1编码。 编码
若是业务中出现乱码,切记不要再其余位置随意的设置setCharacterEncoding,想反在业务中处理要使用new String(req.getParameters("xxxx").getBytes("iso-8859-1"), "gb2312"); spa
以上过滤器类只能保证post提交方式能正确解码。get方式依然会出问题 get