在使用jQuery ajax一个FormData的时候(我要同时传文件和数据,所以用了FormData),发现上传的表单数据里,中文都是乱码。查到的结果就是说Servlet在没有读到ContentType的时候,会默认使用ISO-8859-1编码。具体原因可以参考《Spring MVC的Post请求参数中文乱码的原因&处理》
Web.xml上添加Filter有个等效的Java写法,我的项目里没有web.xml配置文件:)
其实就是在extends AbstractAnnotationConfigDispatcherServletInitializer的时候override一个方法
@Override protected Filter[] getServletFilters() { CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); encodingFilter.setEncoding("UTF-8"); return new Filter[]{encodingFilter}; }
然后就好了,很方便