使中文不被json_encode編碼成unicode的方法
使用 php 自帶的 json_encode 函數(shù)對數(shù)據(jù)進行編碼時,中文都會變成 unicode,導致不可讀,
并且增加傳輸數(shù)據(jù)的大小
比如:
對字符串“json在線解析工具”進行 json_encode 后,
輸出的是”\u006a\u0073\u006f\u006e\u5728\u7ebf\u89e3\u6790\u5de5\u5177”,那么如何使得中文不被 json_encode 不編碼成 unicode 呢,有兩種方法:
1. 先將中文字段 urlencode,json_encode 后,再用 urldecode,也可以顯示中文。
echo urldecode(json_encode(urlencode("json在線解析工具")));
2. 如果使用的 PHP 版本是 5.4 以上的版本,
json_encode 函數(shù)已經(jīng)新增了一個選項: JSON_UNESCAPED_UNICODE。
加上這個選項后,就不會自動把中文編碼了。
echo json_encode("json在線解析工具", JSON_UNESCAPED_UNICODE);
原文鏈接:PHP使中文不被json_encode編碼成unicode的方法