传统的Spring提供的字符编码过滤器
创建一个配置类
@Configuration
public class Coding {
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setForceEncoding(true);
//字符编码
characterEncodingFilter.setEncoding("UTF-8");
registrationBean.setFilter(characterEncodingFilter);
//拦截路径
registrationBean.addUrlPatterns("/*");
return registrationBean;
}
}
注意: 此方法必须在核心配置文件application中设置一下spring.http.encoding.enabled=false,否则不会生效。
原因是需要把spring boot自己的那一套编码规则关掉(false),使用我们刚才配置的那一套。
在核心配置application文件中配置(推荐)
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
#这个是设置tomcat的编码格式
server.tomcat.uri-encoding=UTF-8
在配置文件中配置以上内容