[英]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 文档。
欲了解更多信息,请参阅以下链接
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.