基本介紹
函式說明,函式定義,value,options,返回值,實例說明,解決方法,字元轉碼方式,間接解決,
函式說明
(PHP5 >= 5.2.0, PECL json >= 1.2.0)
json_encode — 對變數進行JSON編碼;
函式定義
stringjson_encode(mixed$value , int $options = 0 ] )
返回 value 值的JSON形式
value
待編碼的 value ,除了resource 類型之外,可以為任何數據類型
該函式只能接受UTF-8 編碼的數據(譯註:指字元/字元串類型的數據)
options
由以下常量組成的二進制掩碼:JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS,JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT,JSON_UNESCAPED_SLASHES,JSON_FORCE_OBJECT,JSON_UNESCAPED_UNICODE.
返回值
編碼成功則返回一個以 JSON 形式表示的string或者在失敗時返回FALSE。
實例說明
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
以上例程會輸出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
解決方法
在json_encode() 函式 使用參數:JSON_UNESCAPED_UNICODE
json_encode($arr, JSON_UNESCAPED_UNICODE);
字元轉碼方式
也可以嘗試使用這個簡短的方法:
function jsonEncodeWithCN($data) {
return preg_replace("/\\\u([0-9a-f]{4})/ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '$1'))", json_encode($data));