繁体   English   中英

如何在使用 Spring 和 JAX-RS 构建的 REST Api 中处理 Unicode 字符......?

[英]How to handle Unicode Character in REST Api built using Spring and JAX-RS…?

我的 API 是使用 JAX-RS 和 Spring 框架开发的。 我正在调用另一个 API,它返回一个包含特殊字符的字符串,如版权符号、美元符号、欧元符号。 我将相同的值分配给 API 中的一个字段并发送该响应。 当我在 SOAP-UI 或 PostMan 工具中测试我的 API 时,没有得到特殊字符,而是打印了一些垃圾字符。

我试过Apache的,

StingEscapeUtils.unEscapeJava(String str);

但这对我不起作用,请为此提出一些解决方案。

在我看来,这似乎是您需要将响应的编码类型定义为标题的一部分。 例如:

Content-Type: text/html; charset=utf-8

这让接收端知道这是一个具有 utf-8 编码字符的 text/html 文档。

欲了解更多信息,请参阅以下链接

http://www.w3.org/International/articles/http-charset/index

RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));

HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON_UTF8);

// HttpUriRequest 请求 request.addHeader("Content-Type", MediaType.APPLICATION_JSON_UTF8_VALUE);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM