如何在RESTeasy中将编码设置为UTF-8? [英] How to set encoding in RESTeasy to UTF-8?

查看:170
本文介绍了如何在RESTeasy中将编码设置为UTF-8?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在RESTeasy中编码字符串时遇到问题.问题是中文字母或任何其他非拉丁字符无法正确显示.如果我尝试将它们打印出来(或作为响应发送),我会收到"??????"反而. 我相信RESTeasy中的默认编码是us-ascii.您知道如何将其更改为UTF-8吗?也许对此问题还有另一种解决方案?

I have a problem with encoding strings in RESTeasy. The problem is that chinese alphabet or any other non-latin characters are not displayed properly. If I try to print them out (or send as response) I get "?????" instead. I believe that default encoding in RESTeasy is us-ascii. Do you know how to change it to UTF-8? Maybe there is another solution to this problem?

这里是我的代码的一小段内容:

Here is a short passage from my code:

@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
}

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

My resteasy-jaxrs-3.0-beta-2 is running on Tomcat 7.0.

谢谢!

推荐答案

这与resteasy或jax-rs mate无关.

This is not about resteasy or jax-rs mate.

检查这篇文章

您可能需要研究几件事:

There are several things you may want to look into:

  1. 如果数据来自数据库,则需要确保数据库中的数据已正确编码.
  2. 您的JVM环境正在使用utf8进行编码
  3. 这可能是IDE的问题,因为IDE和您的tomcat可能运行在不同的位置 配置.
  1. If the data is from DB, then you need to make sure data in DB it is encoded correctly.
  2. Your JVM environment is encoding using utf8
  3. It could be an issue of IDE, because IDE and your tomcat might running on different configurations.

这篇关于如何在RESTeasy中将编码设置为UTF-8?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆