今天公司在做一个数据与app对接的功能,对方转过来的是json转义之后的数据,但又不是标准的json格式化数据,我们直接使用json_decode是输入原字符了,下面一起来看年解决办法吧。
代码如下
u5c0fu533au7effu5316u5f88u4e0du9519|||u4e8cu671fu4ec0u4e48u65f6u5019u4ea4u623fu7684|||u4e8cu671fu4ea4u623fu4e86|||u548cu683cu6797u4e91u5885u79bbu5f97u5f88u8fd1|||u5730u7406u4f4du7f6e
上面代码有人能看懂吗?我估计没人了,我知道是json了所以取一段出来测试
echo json_decode('u683cu8fd8u4e0du9519');发现什么出没有输入,后来想这个不是标准json我们可以使用一个数组再转换看一下
$array =array('u683cu8fd8u4e0du9519');
echo json_encode( $array ) ;得到结果是
立即学习“PHP免费学习笔记(深入)”;
["u683c\u8fd8\u4e0d\u9519"]
这不是标准json格式数据吧,于时我再进一步解析
$array = json_decode('["u4e8cu671fu4ec0u4e48u65f6u5019u4ea4u623fu7684"]');print_r($array ); ( [0] => 浜???浠€涔??跺??浜ゆ?跨?? ) 是
乱码呀,这个我估计是编码问题,我知道json转换编码是uft8的而我页面是gbk了,于时找到iconv函数
$array = json_decode('["u4e8cu671fu4ec0u4e48u65f6u5019u4ea4u623fu7684"]');
echo iconv('utf-8','gbk',$array[0]);得出结果是
二期什么时候交房的
这样就成功把乱码转换成中文了哦,大家试一下
本站原创教程:转载注明来源http://www.phprm.com











