PHP的5.4以下版本json_encode带JSON_UNESCAPED_UNICODE参数不兼容报错和避免中文转码问题解决

function encode_json($str) {  
    return urldecode(json_encode(url_encode($str)));      
}  
  
/** 
 *  
 */  
function url_encode($str) {  
    if(is_array($str)) {  
        foreach($str as $key=>$value) {  
            $str[urlencode($key)] = url_encode($value);  
        }  
    } else {  
        $str = urlencode($str);  
    }  
      
    return $str;  
} 

 

php5.2中做json_encode的时候。中文会被unicode编码,
php5.3加入了options参数,
5.4以后才加入JSON_UNESCAPED_UNICODE,这个参数,不需要做escape和unicode处理。
所以在5.4之前都需要对中文做个处理

 

posted @ 2020-01-06 14:21  阿拉善的樵夫  阅读(32)  评论(0编辑  收藏