【问题标题】:Json question marks ("??????") instead of Hebrew charsJson 问号(“??????”)而不是希伯来字符
【发布时间】:2013-11-26 14:11:51
【问题描述】:

我正在从我的数据库中获取包含希伯来语单词的数据。然后我从ResultSet 获取这些数据,将其放入字符串,然后将其放入JSONObject

代码如下:

response.setContentType(application/json);
...
String str = rs.getString['name'];
...
JSONObject obj = new JSONObj();
obj.put("name", str);
...
response.getWriter().write(obj.toString());

注意:

我使用 java 作为后端,我的数据库是 mysql。数据库配置为 UTF-8

结果:

{"name":"??????"}

【问题讨论】:

  • 你使用的是什么字符集?
  • 一切都使用 UTF8 吗?也就是说:所有脚本都保存在 UTF8 中(文件本身!),所有网络请求都使用 utf8,SQL 事务使用 UTF8,最后但并非最不重要的是,您的数据库排序规则是 UTF8?
  • 你在哪里看到这个输出?前端应用程序、控制台等……可能不是 d/b 问题;可能是显示问题(或 JSON 库的问题)。
  • 浏览器真的显示UTF8吗? HTTP 响应中的 content-type heder 是什么?
  • 很高兴我能帮上忙。 :) 把答案归功于自己,我真的只是指出了方向。

标签: java mysql json servlets utf-8


【解决方案1】:

在@Johannes H 的帮助下解决了这个问题。已添加response.setCharacterEncoding("utf-8");

【讨论】:

    猜你喜欢
    • 2011-07-14
    • 2012-03-03
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2014-10-04
    相关资源
    最近更新 更多