如何将RESTeasy中的编码设置为UTF-8?

Woj*_*tek 1 tomcat servlets jax-rs resteasy

我在RESTeasy中编码字符串时遇到问题.问题是中文字母或任何其他非拉丁字符无法正确显示.如果我尝试将它们打印出来(或作为回复发送),我会得到"?????" 代替.我相信RESTeasy中的默认编码是us-ascii.你知道怎么把它换成UTF-8吗?也许还有另一个解决这个问题的方法?

这是我的代码中的一段短文:

@POST
@Path("post")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String uploadData(@MultipartForm DataUploadForm uploadForm) {

...

//the code below is just for the purpose of presentation

String text = "some non-latin alphabet signs here"
System.out.println(text);  // "??????" is printed out

return text; //"??????" is returned
}
Run Code Online (Sandbox Code Playgroud)

我的resteasy-jaxrs-3.0-beta-2在Tomcat 7.0上运行.

谢谢!

Ste*_*man 7

对于因问题名称而来到这里的人,这是一个解决方案.在@Consumes注释中,尝试将charset设置为UTF-8:

@Consumes(MediaType.MULTIPART_FORM_DATA+";charset=UTF-8");
Run Code Online (Sandbox Code Playgroud)