php防止json中文转码JSON_UNESCAPED_UNICODE

之前遇到josn中文传输的时候我使用的是  urlencode 和 urldecode

缺点只能处理字符,所以每次数组都要遍历,过于麻烦

现在找到了一个快捷转义的方法 JSON_UNESCAPED_UNICODE

/**
*code 状态码
* result response返回结果
* msg 错误说明
*/
function api_response($code=200,$result="",$msg=""){
	$time = time();
	if(empty($result)){
		$res = array("at"=>$time,"code"=>$code,'msg'=>$msg);
	}elseif(is_array($result)){
		$res = array("at"=>$time,"code"=>$code,"result"=>$result,"msg"=>$msg);
	}else{
		$res = array("at"=>$time,"code"=>$code,"result"=>$result,"msg"=>$msg);
	}
    //就是这一步对json做了转义处理
	return json_encode($res,JSON_UNESCAPED_UNICODE);
}

//调用这个函数,模拟了一个二位数组
public function res(){
	$result  = array('name'=>'张三','sex'=>'男','res'=>array('name'=>'王五'));
	$msg = '';
	return api_response(200,$result,$msg);
}

 浏览器返回的数据

到此步我们完成了对json中文的转义

 

你可能感兴趣的:(PHP)