当用json与js或者其它客户端交互时,如果有中文,则会变成unicode。虽然能使用,但是影响观看。不好调试呀。从网上找到了几个方法
一,用下面这个函数,需要编码时,直接调用这个函数就成
function jsonEncodeWithCN($data) {
return preg_replace("/\\\u([0-9a-f]{4})/ie", "iconv(‘UCS-2BE‘,
‘UTF-8‘, pack(‘H4‘, ‘$1‘))", json_encode($data));
}
二
<?php
* 处理
json_encode()
不支持中文的情况
*
* 实际应用中,当有中文
字符时,当直接使用
json_encode() 函数会使汉字不能正常显示
* 所以有了这个适用性比较广的函数 ch_
json_encode()
[2]来解决这个问题
*
* charset: UTF-8
* create date: 2012-7-8
* @author Zhao Binyan
* @copyright (C) 2011-2012 itbdw
*//**
* 处理 json_encode() 不支持中文的情况
*
* @param array|object $data
* @return array|object
*/
function ch_json_encode($data) {
/**
* 将中文编码
* @param array $data
*/
if (
is_array($data)
|| is_object($data)) {
foreach ($dataas$k => $v) {
if (is_scalar($v)) {
$data[$k] = urlencode($v);
} elseif (is_object($data)) {
}
$data[$k] = ch_urlencode($v);//
递归调用该函数
} elseif (is_object($data)) {
$data->$k = ch_urlencode($v);
}
}
}
return$data;
}
$ret = ch_urlencode($data);
return urldecode($ret);
}
PHP中,json汉字编码,古老的榕树,5-wow.com