如何让终端 characters encoding功能

在开发java web应用的时候经常会遇到令人头痛的字符编码问题,期中一个就是客户端发送过来的请求的编码在请求头里并没有,开发人员需要在后端自己选择合适的encoding来解析request过来的参数。

这个问题的解决办法很简单,就是写一个filter来过滤所有请求,然后设置一下request的characterEncoding,比如:

但是这里有个陷阱,整个web应用里,这个filter的拦截顺序必须是第一个,否则还是会出现乱码问题。这是因为(至少在tomcat里):

  1. request对象的parameter并不是一开始就解析的,它是等你第一次调用getParameter*等凡和获得请求参数有关的方法的时候才解析的

  2. paramter一旦被解析过一次,那就不会再次被解析

我要回帖

更多关于 character 的文章

 

随机推荐