【问题标题】:UTF-8 encoded String in REST WebService with Apache CXF带有 Apache CXF 的 REST WebService 中的 UTF-8 编码字符串
【发布时间】:2015-02-07 06:32:04
【问题描述】:

我正在使用 CXF 3.0.2 在 Tomcat 6 上的 2.5 Web 应用程序上设置 REST Web 服务。 Web 服务接收一个不带参数的 POST 请求,并返回一个带有国际字符(如 é、è、à、...)的 JSON 字符串。

问题在于调用应用程序似乎接收到未以 UTF-8 编码的字符串。 我尝试使用 SoapUI,但与“RAW View”类似的问题(“JSON 视图”似乎还可以)。

我真的不知道可能是什么问题。 事实上,我不知道调用应用程序是否没有以 UTF-8 读取或 CXF 发送非 UTF-8 编码响应。

Java REST Web 服务:

包装测试; @Path("/TestService") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") 公共类TestService { @Path("/indicateurs") @邮政 公共字符串指示符(){ 返回“iiérrràr_îttt”; } }

cxf-servlet.xml:

lt;bean id="testService" class="test.TestService"/> 豆> 服务器>

SoapUI JSON 视图:

iiérrràr_îttt

SoapUI 原始视图:

HTTP/1.1 200 正常 服务器:Apache-Coyote/1.1 日期:格林威治标准时间 2014 年 12 月 9 日星期二 10:54:52 内容类型:application/json;charset=UTF-8 传输编码:分块 连接:关闭 iiérrrÃr_îttt

【问题讨论】:

  • Producer 看起来不错,但你调用失败的代码是什么?

标签: java web-services rest utf-8 cxf


【解决方案1】:

我设法找到了问题。

正如“luuksen”所说,制片人还不错。

调用代码是使用 json-smart 库的 Java 中间件,但存在 UTF-8 问题:https://code.google.com/p/json-smart/issues/detail?id=48

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2016-11-08
    • 2018-12-19
    • 2014-06-09
    • 2013-06-17
    • 1970-01-01
    相关资源
    最近更新 更多