首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >App引擎中断编码

App引擎中断编码
EN

Stack Overflow用户
提问于 2015-01-18 21:58:48
回答 2查看 175关注 0票数 0

当我在本地部署后端并调用this方法(通过url或资源管理器)时,我在JSON中收到这样的响应:

代码语言:javascript
复制
"pronunciations": [  {   
    "type": "ahd-legacy",   
    "pronunciation": "(rēˈstrə)"  
} ]

但是,第二次我将其部署到应用程序引擎并调用此方法(该方法将对象存储在objectify中),然后以对象格式将其发送回以JSON的形式接收到的对象:

代码语言:javascript
复制
"pronunciations": [  {
    "type": "ahd-legacy",
    "pronunciation": "(r����str��)"
} ]

我还尝试将字符串存储为utf-8字节(对象化自动转换为base64,然后仍然转换为上面的)。

我是否应该专门为某物贴上标签,以便它被正确地存储?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-20 15:28:16

我搞清楚了是什么。当从本地运行而在部署时不能工作,原因是当我从端点发出一个接收消息的调用时,它会自动使用ASCII服务器的编码。如果你想让它起作用,你需要提出这样的请求:

代码语言:javascript
复制
URL url = new URL(uri);
String response = new BufferedReader(
    new InputStreamReader(url.openStream(), "UTF-8")).readLine();

JSONParser jsonParser = new JSONParser();
return jsonParser.parse(response);
票数 1
EN

Stack Overflow用户

发布于 2015-01-19 05:24:40

这可能不是存储问题,但更可能是在从网络接收/发送数据并对其进行编码/解码时出现的编码问题。

GAE生产服务器上的JVM设置为默认编码为US。在你的本地机器上,它可能设置为UTF-8。

每当您在字符串和字节数组之间进行转换时,应该始终显式地使用UTF-8。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28015272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档