java - ResponseEntity 解码 UTF-8

标签 java utf-8 spring-boot resttemplate

如何在 ResponseEntity 中解码 UTF-8(特别是当我得到变音符号时)。我也尝试过使用 SpringHttpMessageConverter,但这不起作用。

RestTemplate restTemplate = new RestTemplate();
//this is not working only by POST
restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));

ResponseEntity<List<WebUser>> responseEntity = restTemplate.exchange(uriComponents.toUri(), HttpMethod.GET,
                        requestEntity, new ParameterizedTypeReference<List<WebUser>>() {
                        });

//responseEntity.getBody().get(0).getFirstName() should be Müller but I get M&uuml;ler

最佳答案

should be Müller but I get M&uuml;ler

这不是 UTF-8 问题。 ü 是一个 HTML 实体(see here 表示实体列表)。您应该取消转义 HTML 实体以获取所需的 UTF-8 字符串(请参阅 this answer 了解如何使用 Apache Commons 执行此操作)。

关于java - ResponseEntity 解码 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40215799/

相关文章:

mysql - 有没有hibernate方言支持Mysql UTF-8国家字符类型?

encoding - 检测错误的 UTF-8 编码 : list of bad characters to sniff?

java - Spring boot - 设置全局错误处理程序以屏蔽 REST 端点

java - Spring Web应用程序+ Hibernate问题: Unsatisfied dependency expressed through field

java - Hibernate 改进的NamingStrategy 无法正常工作

java - 匹配java中的任何utf8非空白字符?

java - 我该如何解决有关 TestNG 和 Spring Boot 的问题

java - 多模块项目的 Spring Boot 组件扫描问题

java - 强制 java 释放 Java 中的所有文件锁/句柄

java - 尝试将 HashSet 元素与 List 中的元素进行比较