RestEasyClient编码UTF-8

时间:2017-05-17 08:30:57

标签: utf-8 resteasy

我不是UTF-8系统。因此,客户端以系统默认编码格式始终发送Json,与Json仅定义为UTF-X的事实无关。我该如何防止这种情况?

1 个答案:

答案 0 :(得分:0)

RestEasyClient中使用的ApacheHttpClient4Engine在buildEntity方法中使用了DeferredFileOutputStream。所以你需要用这样的Utf8RecodingDeferredFileOutputStream覆盖那里的行为,或者将默认编码设置为-Dfile.encoding = UTF8

当您将实体创建为UTF-8时,还命令您设置变体。

Variant variant = new Variant(MediaType.valueOf(MediaType.APPLICATION_JSON), language, StandardCharsets.UTF_8.name()); Entity.entity(request, variant)