Rumah > Soal Jawab > teks badan
php的curl返回string(42) "{"ret":1,"msg":"u6b22u8fceu56deu6765"}",想知道该怎样显示正确的文字? "u6b22u8fceu56deu6765"对应的是"欢迎回来"
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)
漂亮男人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...