php不轉(zhuǎn)義中文字符的 json編碼方法

字號(hào):


    雖說(shuō)最新的 PHP 5.4 已經(jīng)良好支持 JSON 中文編碼,即通過(guò) JSON_UNESCAPED_UNICODE 參數(shù),例如:
    json_encode("中文", JSON_UNESCAPED_UNICODE)對(duì)于早前 PHP 版本,處理不轉(zhuǎn)義中文字符的 json 編碼,之前寫過(guò) PHP 輸出中文 JSON 字符串這篇文章,這里分享個(gè)更完美的方法:
    /**
    * 不轉(zhuǎn)義中文字符的 json 編碼方法
    * @param array $arr 待編碼數(shù)組
    * @return string
    */
    function encode ($arr) {
    $str = json_encode($arr);
    $search = "#u([0-9a-f]+)#ie";
    $replace = "iconv('UCS-2', 'UTF-8', pack('H4', '1'))";
    return preg_replace($search, $replace, $str);
    }