php 如何把u5fb,php如何将json中的unicode编码转为汉字?

有两个json数据

$d=[{“_id”:{“$id”:”4fda7d42741d727c14000000″},”name”:”u519cu592bu5c71u6cc9″,”bc”:”123456″,”pic”:”d: picwater.jpg”,”aid”:”232fd4df3″}]

$c=[{“_id”:{“$id”:”4fdaa7f3741d725816000000″},”bc”:”012345678″,”name”:”u7ef4u8fbeu7eb8u5dfe”,”cls”:{“id”:”125″,”name”:”u65e5u7528u54c1″},”std”:{“name”:”u5f20u6570″,”val”:”10″}}]

如何将其中unicode字符转为汉字,使得

$d=[{“_id”:{“$id”:”4fda7d42741d727c14000000″},”name”:”农夫山泉”,”bc”:”123456″,”pic”:”d: picwater.jpg”,”aid”:”232fd4df3″}]

$c=[{“_id”:{“$id”:”4fdaa7f3741d725816000000″},”bc”:”012345678″,”name”:”维达纸巾”,”cls”:{“id”:”125″,”name”:”日用品”},”std”:{“name”:”张数”,”val”:”10″}}]

哪位知道的话帮忙解答一下,先谢谢了~~

回复讨论(解决方案)

linux

$str=preg_replace(“#\u([0-9a-f]{4})#ie”, “iconv(‘UCS-2BE’, ‘UTF-8’, pack(‘H4’, ‘\1’))”, $str);

windows

$str=preg_replace(“#\u([0-9a-f]{4})#ie”, “iconv(‘UCS-2LE’, ‘UTF-8’, pack(‘H4’, ‘……

引用 3 楼 的回复:

linux

$str=preg_replace(“#\u([0-9a-f]{4})#ie”, “iconv(‘UCS-2BE’, ‘UTF-8’, pack(‘H4’, ‘\1’))”, $str);

windows

$str=preg_replace(“#\u([0-9a-f]{4})#ie”, “iconv(‘UCS-2LE’, ‘UTF-8’……

不行啊,是这样写吗

$c=preg_replace(“#\u([0-9a-f]{4})#ie”, “iconv(‘UCS-2LE’, ‘UTF-8’, pack(‘H4′,’\1’))”, $c);

echo $c;

$c的输出是

[{“_id”:{“$id”:”4fdaa7f3741d725816000000″},”bc”:”012345678″,”name”:”?倦?搿撅?”,”cls”:{“id”:”125″,”name”:”?モ〉??”},”std”:{“name”:”???”,”val”:”10″}}]

有乱码啊,我是windows平台,麻烦再帮忙看些怎么解决?

怎么说不行呢

我试了可以,

$str = ‘$d=[{“_id”:{“$id”:”4fda7d42741d727c14000000″},”name”:”u519cu592bu5c71u6cc9″,”bc”:”123456″,”pic”:”d: picwater.jpg”,”aid”:”232fd4df3″}]

$c=[{“_id”:{“$id”:”4fdaa7f3741d725816000000″},”bc”:”012345678″,”name”:”u7ef4u8fbeu7eb8u5dfe”,”cls”:{“id”:”125″,”name”:”u65e5u7528u54c1″},”std”:{“name”:”u5f20u6570″,”val”:”10″}}]’;

$str=preg_replace(“#\u([0-9a-f]{4})#ie”, “iconv(‘UCS-2BE’, ‘UTF-8’, pack(‘H4’, ‘\1’))”, $str);

echo $str;

乱码的话记得换下浏览器编码。

编码以后 记得用utf-8

汉字和编码 没区别的 我知道你的意思 嘿嘿~只要utf-8 传输 就没问题

怎么说不行呢

我试了可以,

$str = ‘$d=[{“_id”:{“$id”:”4fda7d42741d727c14000000″},”name”:”u519cu592bu5c71u6cc9″,”bc”:”123456″,”pic”:”d: picwater.jpg”,”aid”:”232fd4df3″}]

$c=[{“_id”:{“$id”:”4fdaa7f3741d7……

怎么我的显示不了,结果是这样:

$d=[{“_id”:{“$id”:”4fda7d42741d727c14000000″},”name”:”??か灞辨?”,”bc”:”123456″,”pic”:”d: picwater.jpg”,”aid”:”232fd4df3″}] $c=[{“_id”:{“$id”:”4fdaa7f3741d725816000000″},”bc”:”012345678″,”name”:”缁磋揪绾稿肪”,”cls”:{“id”:”125″,”name”:”?ョ???”},”std”:{“name”:”寮??”,”val”:”10″}}]

用ie浏览器也不行,怎么回事?求解~~

怎么说不行呢

我试了可以,

$str = ‘$d=[{“_id”:{“$id”:”4fda7d42741d727c14000000″},”name”:”u519cu592bu5c71u6cc9″,”bc”:”123456″,”pic”:”d: picwater.jpg”,”aid”:”232fd4df3″}]

$c=[{“_id”:{“$id”:”4fdaa7f3741d7……

哦~~是的,是的。加了header(“Content-type: text/html; charset=utf-8”);就好了,

多谢你帮忙解答。

赞一个 轻松搞定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值