PHP JSON的转换

本文介绍了解决PHP中使用json_encode处理包含中文字符的数组时遇到的问题,通过使用urlencode()函数预先处理数组内容,确保中文字符能正确转换为JSON格式,并在显示前使用urldecode()还原。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[url]http://www.dewen.org/q/1801[/url]
将array 转换成 stdclass 在 转换成json字符串

json_decode — 对 JSON 格式的字符串进行编码
json_encode — 对变量进行 JSON 编码
json_last_error — 返回最后发生的错误

[color=red]数组中所有中文在json_encode之后都不见了或者出现\u2353等。
解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来。[/color]

public function site() {

$Site = new Model("site");
$records = $Site->select();

print_r("JSON=".json_encode(new arrayobject($records)));
echo '<br>';
print_r(new arrayobject(json_decode('{"id":"1","name":"d","title":"y","tel":"y","QQ":"y","email":"u","addr":"u","acc_count":null}')));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值