php json 不转义,php json_encode中文不转义
php json_encode函數處理完包含中文的字符串之后,中文會被處理成一串看不懂的字符串,非常不方便,查了一下php文檔,發現自php 5.4起,json_encode新增了一個參數 JSON_UNESCAPED_UNICODE。
JSON_UNESCAPED_UNICODE(中文不轉為unicode ,對應的數字 256)
另一個比較常用的參數:
JSON_UNESCAPED_SLASHES (不轉義反斜杠,對應的數字 64)
注意:通常json_encode只能傳入一個常量,如果同時使用2個常量怎么辦?
JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320
使用方法:json_encode($arr, 320); 即可完成同時使用2個常量。
對于php 5.3 及以下版本的可通過如下函數進行處理:
function json_encode($array) {
if (version_compare(PHP_VERSION, '5.4.0', '
$str = json_encode($array);
$str = preg_replace_callback("#\\\u([0-9a-f]{4})#i", function ($matchs) {
return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
}, $str);
return $str;
} else {
return json_encode($array, JSON_UNESCAPED_UNICODE);
}
}
總結
以上是生活随笔為你收集整理的php json 不转义,php json_encode中文不转义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse/myeclipse中快捷
- 下一篇: Python requests介绍之接口