springboot配置字元編碼
阿新 • • 發佈:2020-08-03
這邊主要有兩種方式
方式一、使用傳統的Spring提供的字元編碼過濾器(Filter的方式)
因為,字元編碼過濾器在框架中已經有了,所以我們不需要自己寫了。直接進行配置類的實現:
@Configuration public class CharacterConfig { @Bean public FilterRegistrationBean filterRegistrationBean(){ //建立SpringWeb提供的字元編碼過濾器,主要實現字元編碼過濾 CharacterEncodingFilter filter = new CharacterEncodingFilter(); filter.setForceEncoding(true);//強制對請求的編碼, filter.setEncoding("GBK");//使用GBK編碼 FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(filter); filterRegistrationBean.addUrlPatterns("/*"); return filterRegistrationBean; } }
上述方式表示將請求路徑為“/”的所有請求都進行字元編碼的過濾,具體過濾方式看set方法裡面的內容。
注意:只有當application.properties配置檔案中server.servlet.encoding.enabled=false時,上述編碼過濾器才會工作。
方式二、使用配置檔案的方式進行字元編碼
在配置檔案中加入一下鍵值對:
#第一種加入編碼的方式。這種方式好像現在的springboot不太推薦
server.servlet.encoding.enabled=true
#第二種方式:推薦的方式,第二種方式需要將上面的false改成true
server.servlet.encoding.charset=UTF-8server.servlet.encoding.force=true