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