php如何显示curl返回的Unicode escape strings?如"\u6b22\u8fce\u56de\u6765"
淡淡烟草味
淡淡烟草味 2017-05-16 13:05:33
[PHP讨论组]

php的curl返回string(42) "{"ret":1,"msg":"u6b22u8fceu56deu6765"}",想知道该怎样显示正确的文字? "u6b22u8fceu56deu6765"对应的是"欢迎回来"

淡淡烟草味
淡淡烟草味

全部回复(2)
ringa_lee

如果能处理服务端那可以通过json_encode第二个参数控制中文不编码。
http://php.net/manual/zh/func...
不能处理服务端那么可以处理curl返回的结果,先解json,再重新json_encode(也根据第二个参数控制)

漂亮男人

答主还是讲得不够详细,菜鸟就只能在网上慢慢搜索啦...找到一篇完美的解决方法:

<?php
$arr = array('p1'=>'nihao','p2'=>2,'ch'=>'码农你好!');
$json = json_encode($arr);
echo decodeUnicode($json);

function decodeUnicode($str){
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
        create_function(
            '$matches',
            'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
        ),
        $str);
}
?>

参考:http://www.manongjc.com/artic...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号