8.1 使用传统的Spring提供的字符编码过滤器
- 在03-springboot-web中的ServletConfig中配置文件类,注册字符编码过滤器
@Bean
public FilterRegistrationBean characterEncodingFilterRegister(){
FilterRegistrationBean filterRegistrationBean=new FilterRegistrationBean();
CharacterEncodingFilter characterEncodingFilter=new CharacterEncodingFilter();
characterEncodingFilter.setForceEncoding(true);
characterEncodingFilter.setEncoding("UTF-8");
filterRegistrationBean.setFilter(characterEncodingFilter);
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
在application.properties中设置spring.http.encoding.enabled=true也能解决乱码问题。
推荐使用配置的方式:
# 设置请求响应的字符编码
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true