spring mvc 项目设置编码,是在web.xml中配置CharacterFilter过滤器,然后设置encoding为UTF-8
到了spring boot,没有配置文件了,怎么设置编码呢?
1. 注册CharacterFilter,调用setEncoding
@Bean
public FilterRegistrationBean indiaCharacterFilter(){
CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(encodingFilter);
registration.addUrlPatterns("/*");
registration.setOrder(1);
return registration;
}
2. 要设置boot本身的编码不可用。有些教程讲的是用
spring.http.encoding.enabled=false,但是boot2.0以后,提示过期了。建议换成如下。
server.servlet.encoding.force=false
或者直接用boot的配置,
以spring.http.encoding.开头的,都提示过期了。
server.servlet.encoding.charset=utf-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true