我正在开发一个应该接受JSON对象的后端,如果它们符合某些条件,则将它们输入数据存储区。我的问题是,当我发送带有unicode字母的json时,我得到了残缺的内容。我已经尝试使用api explorer和Firefox的休息客户端插件
我的端点API方法如下所示:
@ApiMethod(name = "addObj", httpMethod = "post" , path = "addObj")
public ArtObj addObj(ArtObj obj)
throws OAuthRequestException, IOException,IllegalArgumentException
{
}
和我的Json看起来如下
{
someText:"محتوى عربى",
someEnglish : "English content"
}
根据我在appengine-web.xml
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
<property name="file.encoding" value="UTF-8" />
<property name="DEFAULT_ENCODING" value="UTF-8" />
</system-properties>
但是我收到的只是一个解析过的POJO,但是带有乱码的unicode字母和完美的英文。
答案 0 :(得分:1)
我找到了问题的答案。我正在使用Windows等环境变量
必须将JAVA_TOOL_OPTIONS
设置为-Dfile.encoding=UTF8
才能设置JVM的默认编码。现在我得到了正确的JSON。
由于
答案 1 :(得分:0)
我在泰语中插入实体面临同样的问题,我的解决方案是在Eclipse上打开项目属性窗口,在“资源/文本文件编码”下单击“其他”并选择“UTF-8”并且它的工作正常。