当前位置:首页 > PHP教程 > php应用 > 列表

php把u5c0fu533au7eff乱码转换成中文

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-21 21:55:46 浏览: 评论:0 

今天公司在做一个数据与app对接的功能,对方转过来的是json转义之后的数据,但又不是标准的json格式化数据,我们直接使用json_decode是输入原字符了,下面一起来看解决办法吧,代码如下:

\u5c0f\u533a\u7eff\u5316\u5f88\u4e0d\u9519|||\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684|||\u4e8c\u671f\u4ea4\u623f\u4e86|||\u548c\u683c\u6797\u4e91\u5885\u79bb\u5f97\u5f88\u8fd1|||\u5730\u7406\u4f4d\u7f6e

上面代码有人能看懂吗?我估计没人了,我知道是json了所以取一段出来测试,代码如下:

echo json_decode('u683c\u8fd8\u4e0d\u9519');

发现什么出没有输入,后来想这个不是标准json我们可以使用一个数组再转换看一下,代码如下:

$array =array('u683c\u8fd8\u4e0d\u9519');

echo json_encode( $array ) ;

得到结果是:["u683c\\u8fd8\\u4e0d\\u9519"]

这不是标准json格式数据吧,于时我再进一步解析,代码如下:

  1. $array = json_decode('["\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684"]'); 
  2. print_r($array ); 
  3.     [0] => 浜???浠€涔??跺??浜ゆ?跨?? 
  4. )//开源软件:phpfensi.com 

是乱码呀,这个我估计是编码问题,我知道json转换编码是uft8的而我页面是gbk了,于时找到iconv函数,代码如下:

  1. $array = json_decode('["\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684"]'); 
  2. echo iconv('utf-8','gbk',$array[0]); 

得出结果是:二期什么时候交房的,这样就成功把乱码转换成中文了,大家试一下.

Tags: u5c0fu533au7eff php乱码转换中文

分享到: