json中的中文编码问题 JSON也是基于HTTP协议通信,其本身并不存在不支持中文的问题。可是,JSON中没有定义编码的地方,所以只能如此。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $output=$oJSON->encode($olost_person); echo $output;$olost_person的是一个类的实例,在做以上这句之前用print_r输出如下lost_person Object( [name] => 小张 [age] => [sex] => F [latitude] => 30.25 [longitude] => 120.17)$output输出为{"name":"\u0421\u0000","age":null,"sex":"F","latitude":"30.25","longitude":"120.17"} 1楼的大哥,偶不是很懂你说的,我没谈通信的问题,只是在服务器端,PHP的JSON库已经不认识中文了。 用JavaScript把他们给转换过来就可以了。 function escapeUnicode(str) { return str.replace(/[^ -~]|\\/g, function(m0) { var code = m0.charCodeAt(0); return '\\u' + ((code < 0x10)? '000' : (code < 0x100)? '00' : (code < 0x1000)? '0' : '') + code.toString(16); });}function unescapeUnicode(str) { return str.replace(/\\u([a-fA-F0-9]{4})/g, function(m0, m1) { return String.fromCharCode(parseInt(m1, 16)); });} 另一种方法,用unicode_decode把$oJSON->encode($olost_person)的结果转换之后返回 输出\uXXX的很正常,你decode就可以了...如果你的数据库是GBK的话,对JSON操作时要进行GBK和utf-8之间转换,我是这样处理的json_encode之前对中文字符转换成utf-8,json_decode之后,再转换出来为GBK 自己解决了,把PHP中的name用iconv('gb2312', 'utf-8', $row['name'])转换一下就可以了。 PHP中cookie传值出现乱码问题 php二级域名下的cookie问题,第一个cookie读不出来? socket多用户连接求助 登录频繁退出,有好的解决方案没有? 同一台服务器上怎么同时运行asp和PHP?可以搭建同时appche和IIS吗? 网页缓存的作用 哪位大哥知道怎么改变text的边框颜色 这段正则的描述的话是不是有问题?作者要表达的正确意思是什么? 软件测试,职场“人烟稀少” 高分求解????????????????????????????????????????????????? 如何判断主机是否在线 请教一个问题!
echo $output;$olost_person的是一个类的实例,在做以上这句之前用print_r输出如下
lost_person Object
(
[name] => 小张
[age] =>
[sex] => F
[latitude] => 30.25
[longitude] => 120.17
)
$output输出为{"name":"\u0421\u0000","age":null,"sex":"F","latitude":"30.25","longitude":"120.17"}
function escapeUnicode(str) {
return str.replace(/[^ -~]|\\/g, function(m0) {
var code = m0.charCodeAt(0);
return '\\u' + ((code < 0x10)? '000' :
(code < 0x100)? '00' :
(code < 0x1000)? '0' : '') + code.toString(16);
});
}
function unescapeUnicode(str) {
return str.replace(/\\u([a-fA-F0-9]{4})/g, function(m0, m1) {
return String.fromCharCode(parseInt(m1, 16));
});
}
用unicode_decode把$oJSON->encode($olost_person)的结果转换之后返回
json_encode之前对中文字符转换成utf-8,json_decode之后,再转换出来为GBK