php的json_encode不兼容JSON_UNESCAPED_UNICODE的解決方案

/*  *
* 對變量進行 JSON 編碼
* @param mixed value 待編碼的 value ,除了resource 類型之外,可以爲任何數據類型,該函數只能接受 UTF-8 編碼的數據
* @return string 返回 value 值的 JSON 形式
 */  
 function json_encode_ex(  $value)  
{  
      if (  version_compare(  PHP_VERSION,'5.4.0','<'))  
    {  
          $str = json_encode(  $value);  
          $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(  $value, JSON_UNESCAPED_UNICODE);  
    }  
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章