SpringBoot響應Json數據亂碼通過配置的解決

場景

實現

把SpringBoot的response編碼設置為utf-8

找到application.properties配置文件

添加如下:

#設置響應為utf-8
spring.http.encoding.force-response=true

再次刷新瀏覽器

SpringBoot返回json數據亂碼

第一種解決方式

在請求RequestMapping直接設置,隻針對請求,在攔截器返回json數據時有可能亂碼

@RequestMapping(value ="/user", produces="application/json;charset=UTF-8")

第二種方式

不一定有效

#解決@ResponseBody中文亂碼問題
spring:  
  http:
    encoding:
      force: true

第三種完美解決

實現WebMvcConfigurer接口

@Configuration
public class WebAppConfigurer implements WebMvcConfigurer {
 @Bean
    public HttpMessageConverter responseBodyConverter(){
  //解決返回值中文亂碼
        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        return converter;
    }
 
 @Override
 public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  converters.add(responseBodyConverter());
 }
}

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: