如何在 Spring 启动时使用 RestTemplate 发送表情符号?

How to Send Emojis using RestTemplate in Spring Boot?

我的要求是将 JSON 数据从服务 (A) 发送到另一个服务 (B),在这种情况下,我使用 Spring Boot RestTemplate 在 JSON 中发送表情符号.如果我从 A 向 B 发送请求,在服务 B 中,消息显示为带有问号 (?) 而不是表情符号的文本。

正在发送此 JSON 数据

{
"from": "1233222225",
"to":  "8585855858",
"message": "Hello A, hope you are doing 23012020 "
}

在服务 B 中显示为

{
"from": "1233222225",
"to":  "8585855858",
"message": "Hello A, hope you are doing 23012020 ?"
}

谁能帮忙解决这个问题?

您需要发送以下编码的表情符号:

String ballEmoji = "\u26BD";

或者您可以使用以下:

<dependency>
    <groupId>com.vdurmont</groupId>
    <artifactId>emoji-java</artifactId>
    <version>3.2.0</version>
</dependency>

EmojiParser.parseToUnicode(":smiley: some text");

试试这个解决方案。它对我有用

在发送 json 数据时确保内容类型在 headers 中应为 "application/json;charset=UTF-8"。默认需要 "application/json".

HttpHeaders headers = new HttpHeaders();
headers.setContentType("application/json;charset=UTF-8");