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