php如何顯示curl返回的Unicode escape strings?如"\u6b22\u8fce\u56de\u6765"
淡淡烟草味
淡淡烟草味 2017-05-16 13:05:33
0
2
1562

php的curl回傳string(42) "{"ret":1,"msg":"u6b22u8fceu56deu6765"}",想知道該怎麼顯示正確的文字? "u6b22u8fceu56deu6765"對應的是"歡迎回來"

淡淡烟草味
淡淡烟草味

全部回覆(2)
左手右手慢动作

如果能處理服務端那可以透過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...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!