如何使得中文不被 PHP的json_encode 不編碼成 unicode

如何使得中文不被 PHP的json_encode 不編碼成 unicode

如何使得中文不被 PHPjson_encode 不編碼成 unicode


 

資料來源:http://www.hksilicon.com/kb/articles/562490/json_encodeunicode

 

使用 php 自帶的 json_encode 函數對數據進行編碼時,中文都會變成 unicode,導致不可讀,並且增加傳輸數據的大小,比如,對字符串「我愛水煮魚」進行 json_encode 后,輸出的是」\u6211\u7231\u6c34\u716e\u9c7c」,那麼如何使得中文不被 json_encode 不編碼成 unicode 呢,有兩種方法:

 

1. 先將中文字段
urlencode
json_encode 后,再用
urldecode
,也可以顯示中文。

echo urldecode(json_encode(urlencode(“我愛水煮魚“)));

 

2. 如果使用的
PHP
版本是 5.4 以上的版本,json_encode 函數已經新增了一個選項: JSON_UNESCAPED_UNICODE。加上這個選項后,就不會自動把中文編碼了。

echo json_encode(“我愛水煮魚“, JSON_UNESCAPED_UNICODE);

 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *