1. 程式人生 > >PHP--ajax請求中文亂碼之json_encode中文亂碼

PHP--ajax請求中文亂碼之json_encode中文亂碼

今天在呼叫一個介面時,發現我傳遞給後臺的資料中的中文莫名其妙的亂碼了。。。一開始想著是不是我前臺的呼叫方法不對,導致中文在傳遞的過程中出現了亂碼。但是我發現介面中另一個欄位使用中文就沒有問題,無奈之下,本人只能開啟phpstorm來看看後臺的介面是什麼情況,結果發現傳遞給後臺的資料中文是正常顯示的,直到後臺的同事呼叫了json_encode這個方法後,中文就變成了一堆/u****開頭的東西。上網一查,原來是這個方法的bug導致的。下面記錄一下解決方法。

  1. 升級PHP到5.4, json_encode方法新增了一個選項: JSON_UNESCAPED_UNICODE, 故名思議, 就是說, Json不要編碼Unicode.
    <?php echo json_encode("中文", JSON_UNESCAPED_UNICODE); //"中文"

還有其他的方法,目前興趣不大,如果後面有遇到,再過來補充一下。