我需要将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。我该怎么办?
答案 0 :(得分:0)
如果编码错误在PrintWriter
中,您可以尝试写入响应而不是字符串,而是写入字符数组,如:
out.print(jsonObject.toString().getBytes("UTF-8"));
否则尝试使用另一个库来生成json,例如GSON。
Gson gson = new GsonBuilder().create();
out.print(gson.toJson(Your_Object));