1、原因
由於RestTemplate的默認構造方法初始化的StringHttpMessageConverter的默認字符集是ISO-8859-1,所以導致RestTemplate請求的響應內容會出現中文亂碼。
2、解決方法
springboot中@Bean配置的時候要把StringHttpMessageConverter編碼改成UTF8格式。如下:
@Bean public RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); return restTemplate; }