resttemplate 返回乱码
时间: 2023-08-04 16:05:20 浏览: 80
RestTemplate在发送请求后返回的中文乱码问题可以通过编码转换来解决。根据引用\[2\]中的代码追踪,可以使用以下代码将返回的中文从ISO_8859_1编码转换为UTF-8编码:
```java
String result = new String(response.getBody().getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
```
另外,根据引用\[3\]中的分析,可以通过修改RestTemplate的默认编码格式来解决乱码问题。可以使用以下代码来设置RestTemplate的编码格式为UTF-8:
```java
RestTemplate restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> httpMessageConverters = restTemplate.getMessageConverters();
httpMessageConverters.stream().forEach(httpMessageConverter -> {
if(httpMessageConverter instanceof StringHttpMessageConverter){
StringHttpMessageConverter messageConverter = (StringHttpMessageConverter) httpMessageConverter;
messageConverter.setDefaultCharset(Charset.forName("UTF-8"));
}
});
String result = restTemplate.getForEntity(url, String.class).getBody();
```
通过以上两种方法,你可以解决RestTemplate返回中文乱码的问题。
#### 引用[.reference_title]
- *1* [RestTemplate 返回值中文乱码](https://blog.csdn.net/qq_34819372/article/details/117922798)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [restTemplate返回字符乱码问题](https://blog.csdn.net/haohaounique/article/details/116034779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [RestTemplate返回值乱码解决](https://blog.csdn.net/myhAini/article/details/103276726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]