5.4 以上版本可以使用 JSON_UNESCAPED_UNICODE 来解决,但是低版本的,需要用其他方式
需要注意的是,encode_json参数为数组,不能为对象
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; }
网上有些使用 preg_replace,然后再转换编码解决,但是有些中文和数组的字符串,会出现数字丢失的问题,上面的方法是没有问题的