[英]Google AppEngine - How to set default Charset / file-encoding (to UTF-8) for Google AppEngine
[英]UTF-8 response encoding with appengine
我需要将HTTP响应的字符编码设置为UTF-8。
JsonObject jsonObject;
resp.setContentType("application/json; charset=UTF-8");
//resp.setCharacterEncoding("UTF-8");
PrintWriter out = resp.getWriter();
out.print(jsonObject.toString());
我尝试使用特定的响应方法并在appengine-web.xml
上使用系统属性来设置内容类型的编码
<property name="file.encoding" value="UTF-8" />
<property name="DEFAULT_ENCODING" value="UTF-8" />
每个方法都可以在本地正常工作,但是当我将应用程序部署到App Engine时,字符编码会出错,并且浏览器中显示的JSON响应字符串不是UTF-8。 我能做什么?
如果PrintWriter
编码错误,您可以尝试将响应写成不是字符串,而是字符数组,如下所示:
out.print(jsonObject.toString().getBytes("UTF-8"));
否则,请尝试另一个库来生成json,例如GSON。
Gson gson = new GsonBuilder().create();
out.print(gson.toJson(Your_Object));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.