php 返回不對中文unicode編碼的json

php5.4以後,json_encode支持是否對中文編碼的模式,那之前的版本如何處理呢,直接上code

/**
 * 擴展php自帶的urlencode, 支持數組, 區分數值型和字符型
 *
 * @param mixed $data
 * @return string
 */
public static function urlEncodeExt($data)
{
	if(is_array($data)) {
		foreach($data as $key=>$value) {
			$data[strval($key)] = self::urlEncodeExt($value);
		}
	} else {
		if (is_string($data)) {
			$data = is_numeric($data) ? intval($data) : urlencode($data);
		}
	}
	return $data;
}

/**
 * 返回JSON數據(強類型方式)
 *
 * @param int $status 狀態碼(0=>error 1=>success)
 * @param string $msg 返回信息
 * @param mixed $data 返回數據
 * @return string/json
 */
public static function responseJSON($status = 1, $msg = 'success', $data = null)
{
	header('Content-type:application/json;charset=utf-8');
	$response = array(
		'status' => $status,
		'msg' => $msg,
	);
	if (!empty($data)) {
		$response['data'] = $data;
	}
	exit(urldecode(json_encode(self::urlEncodeExt($response))));
}
此方式已將變量類型區分開來,用於和移動客戶端的數據交互

發佈了54 篇原創文章 · 獲贊 10 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章