php 处理 json_encode 中文显示问题

/**
 * 对数组和标量进行 urlencode 处理
 * 通常调用 wphp_json_encode() 
 * 处理 json_encode 中文显示问题
 * @param array $data
 * @return string
 */
function wphp_urlencode($data) {
	if (is_array($data) || is_object($data)) {
		foreach ($data as $k => $v) {
			if (is_scalar($v)) {
				if (is_array($data)) {
					$data[$k] = urlencode($v);
				} else if (is_object($data)) {
					$data->$k = urlencode($v);
				}
			} else if (is_array($data)) {
				$data[$k] = wphp_urlencode($v); //递归调用该函数
			} else if (is_object($data)) {
				$data->$k = wphp_urlencode($v);
			}
		}
	}
	return $data;
}
/**
 * json 编码
 * 
 * 解决中文经过 json_encode() 处理后显示不直观的情况
 * 如默认会将"中文"变成"u4e2du6587",不直观
 * 如无特殊需求,并不建议使用该函数,直接使用 json_encode 更好,省资源
 * json_encode() 的参数编码格式为 UTF-8 时方可正常工作
 * 
 * @param array|object $data
 * @return array|object
 */
function ch_json_encode($data) {	
	$ret = wphp_urlencode($data);
	$ret = json_encode($ret);
	return urldecode($ret);
}

  

  

php 处理 json_encode 中文显示问题

原文地址:https://www.cnblogs.com/chenzhaojx/p/3939021.html