php转换json时, 其中的中文会转换成Unicode, 要保持原来中文的意思
/** ?????* 将数组里面带有中文的字串保留以JSON格式返回 ?????* ?????* @param ??array $arr ?数组 ?????* @return ?string JSON格式的字符串 ?????*/ ????function toJson($arr) ?????{ ???????????????????$ajax = ToUrlencode($arr); ?????????$str_json = json_encode($ajax); ?????????return urldecode($str_json); ?????} ???????/** ?????* 将数组里面带有中文的字串用urlencode转换格式返回 ?????* ?????* @param ??array $arr ?数组 ?????* @return ?array ?????*/ ??function ToUrlencode($arr) ?????{ ???????????$temp = array(); ?????????if (is_array($arr)) ?????????{ ?????????????foreach ($arr AS $key => $row) ?????????????{ ?????????????????$temp[$key] = $row; ?????????????????if (is_array($temp[$key])) ?????????????????{ ?????????????????????$temp[$key] = ToUrlencode($temp[$key]); ?????????????????} ?????????????????else ?????????????????{ ?????????????????????$temp[$key] = urlencode($row); ?????????????????} ?????????????} ?????????} ?????????else ?????????{ ?????????????$temp = $arr; ?????????} ?????????return $temp; ?????} ?????????$arr = array(‘我的wod‘,‘我的wod‘,‘我的wod‘); ???echo json_encode($arr); ???echo "\n"; ???echo toJson($arr); ???echo "\n";
结果:
php json数据保留原样中文
原文地址:http://www.cnblogs.com/akidongzi/p/7766916.html