> php教程 > php手册 > 본문

php把u5c0fu533au7eff乱码转换成中文

WBOY
풀어 주다: 2016-06-02 09:14:16
원래의
2949명이 탐색했습니다.

今天公司在做一个数据与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格式数据吧,于时我再进一步解析

$array = json_decode('["\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684"]');
로그인 후 복사
print_r($array );
(
    [0] => 浜???浠€涔??跺??浜ゆ?跨??
)
是
로그인 후 복사

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

$array = json_decode('["\u4e8c\u671f\u4ec0\u4e48\u65f6\u5019\u4ea4\u623f\u7684"]');
echo iconv('utf-8','gbk',$array[0]);
로그인 후 복사

得出结果是

二期什么时候交房的

这样就成功把乱码转换成中文了哦,大家试一下

本站原创教程:转载注明来源http://www.phprm.com


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿