我有一个 PHP Web 服务,它控制我的所有数据库函数,这些函数以 JSON 对象形式提供响应我正在以 UTF-8 的方式对所有内容进行编码,因为我使用的是希伯来语文本 - 但我所有的希伯来语文本都失去了空格..
这是我在 Android 中的 http 响应代码:
private JSONObject getApiResponse(HttpResponse response) throws Exception
{
//get response status line
StatusLine statusLine = response.getStatusLine();
//if statue line is ok - read the response and return it
if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
ByteArrayOutputStream out = new ByteArrayOutputStream();
entity.writeTo(out);
out.close();
return new JSONObject(new String(out.toString().getBytes(),"UTF-8"));
}
return null;
}
这是我对 php 的回应:
$api = new api();
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">";
echo utf8_encode($api -> processRequest()); //processRequest() always returns JSON object
- 所有数据表均为 UTF 8
- PHP mysqli 设置为 UTF 8
这是来自服务的响应示例:
{"events":[
{"Event_Code":"10212208",
"Event_Name":"\u05de\u05e1\u05d9\u05d1\u05ea \u05e9\u05e9
\u05e9\u05e0\u05d9\u05dd
\u05dc\u05d1\u05d0\u05e8\u05e7\u05d9",
"Place":"\u05d4\u05e2\u05e6\u05de\u05d0\u05d5\u05ea 84 \u05d7\u05d9\u05e4\u05d4",
"Start_Time":"2013-08-22 21:00:00",
"End_Time":"2013-08-23 05:00:00",
"Facebook_Id":"741688125",
"User_Name":"Name"}]}
任何的想法 ??