cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah php memaparkan rentetan melarikan diri Unicode yang dikembalikan oleh curl seperti "\u6b22\u8fce\u56de\u6765"

Keriting php mengembalikan rentetan(42) "{"ret":1,"msg":"u6b22u8fceu56deu6765"}". "u6b22u8fceu56deu6765" sepadan dengan "Selamat datang kembali"

淡淡烟草味淡淡烟草味2842 hari yang lalu1646

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-05-16 13:07:33

    Jika anda boleh mengendalikan bahagian pelayan, anda boleh mengawal sama ada bahasa Cina tidak dikodkan melalui parameter kedua json_encode.
    http://php.net/manual/zh/func...
    Jika anda tidak dapat memproses pelayan, anda boleh memproses hasil yang dikembalikan oleh curl Pertama nyahkod json, dan kemudian re-json_encode (juga dikawal mengikut parameter kedua)

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:07:33

    Penjawab masih tidak menjelaskannya dengan cukup terperinci, jadi pemula hanya boleh mencari perlahan-lahan di Internet... dan menemui penyelesaian yang sempurna:

    <?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);
    }
    ?>

    Rujukan: http://www.manongjc.com/artic...

    balas
    0
  • Batalbalas