我使用泽西WS(2.5)与杰克逊1.9.1.1,我有编码问题。
我正在测试这个文字:
őúüóöüáű.sqadaud121.-.űúóüóaé í
当我返回纯文本时,没关系。
当我手动将其作为JSON返回时,(因此我将[和]添加到String并将@Produces设置为MediaType.APPLICATION_JSON,这是完美的。在这种情况下,我仍然返回String。
但是当我使用Pojo时,它会中断。参见:
@GET
@Path("/testUTF")
@Produces(MediaType.APPLICATION_JSON)
public TestEntity testUTF() {
TestEntity te = new TestEntity();
te.setTestText("őúüóöüáű.sqadaud121.-.űúóüóaé í");
return te;
}
这将输出完全断开的字符串。确切地说:
{"testText":"Q������q.sqadaud121.-.q����a� �"}
这让我意识到这是杰克逊的一个问题。我无法更新到Jackson 2.x,因为它是用Java7构建的,我们仍然使用Java6。 任何人都有任何想法?
到目前为止我已尝试过:
1)设置@Produces(" application / json; charset = UTF-8") - 没有效果 2)创建一个CharsetResponseFilter并在那里设置charset - 没有效果