所有,Json_encode,json_decode和UTF8
我做一個JSON請求到Web服務器,使用PHP,並將其返回我在一個變量的JSON響應。 JSON響應將包含許多鍵和值。我從服務器獲得的JSON響應中有特殊字符。因此,我使用以下語句將其轉換爲UTF8,解碼JSON並將其用作數組以顯示給UI。
$response = json_decode(utf8_encode($jsonresponse));
現在,我必須在JSON請求中將相同的值傳遞給服務器以完成某些操作。但是,當我通過
$jsonrequest = json_encode(utf8_encode($request));
到服務器,它失敗。
以下代碼成功讀取特殊字符並將其顯示到UI。但如果我必須將utf8_encode值傳遞給服務器,則會失敗。
目前整個往返代碼是根據:
$requestdata = json_encode($request);
$jsonresponse = //Do something to get from server;
$response = json_decode(utf8_encode($jsonresponse));
如何修改它,這樣我通過精確值,以什麼我從服務器的JSON響應receieved?
最近我有這個問題,原來我用成爲一個狗屎編碼器,並在幾年前在一段代碼中使用require_once作爲一個愚蠢的理由。良好的3小時調試。 :) – Jek 2017-10-08 12:25:39
@Jek require_once與編碼有什麼關係? – Borna 2017-11-14 14:26:06
@博爾納我不知道爲什麼,但它解決了我的問題。我花了數小時縮小了我的代碼庫中編碼問題在JSON之前打印出來的位置,並縮小到在類的公共函數中調用require_once。蠢事。 – Jek 2017-11-14 20:06:54