Json 问号(“??????”)而不是希伯来字符
Posted
技术标签:
【中文标题】Json 问号(“??????”)而不是希伯来字符【英文标题】:Json question marks ("??????") instead of Hebrew chars 【发布时间】: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 是什么? 很高兴我能帮上忙。 :) 把答案归功于自己,我真的只是指出了方向。 【参考方案1】:在@Johannes H 的帮助下解决了这个问题。已添加response.setCharacterEncoding("utf-8");
【讨论】:
以上是关于Json 问号(“??????”)而不是希伯来字符的主要内容,如果未能解决你的问题,请参考以下文章