Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar php json kepada bahasa Cina
Cara menukar php json kepada bahasa Cina: 1. Urlencode medan bahasa Cina 2. Gunakan fungsi json_encode untuk mengekod 3. Gunakan urldecode untuk memproses hasilnya.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3
Cara untuk tukar php json ke bahasa Cina ? Bagaimana untuk menukar rentetan format json Cina secara normal dalam PHP
Bagaimana untuk menukar rentetan format json, dua fungsi disediakan dalam manual php:
json_encode: JSON untuk pembolehubah Pengekodan
json_decode: Mengekod rentetan dalam format JSON
Mari kita lihat contoh di bawah:
$arr = ['a', 'b', 'c'];echo json_encode($arr);
Outputnya ialah:
["a","b","c"]
Tetapi , apabila kita letakkan aksara Cina dalam tatasusunan, masalah akan berlaku:
$arr = [ '世界', '你好',];echo json_encode($arr);
Hasil output ialah:
["\u4e16\u754c","\u4f60\u597d"]
Hasil ini jelas bukan yang kita mahu, tetapi Mengapa ini berlaku? Kerana apabila nilai kami mengandungi bahasa Cina, apabila PHP melakukan pengekodan json padanya, lapisan bawah akan melakukan pengekodan unicode pada bahasa Cina, menyebabkan hasilnya tidak boleh dibaca
Jadi bagaimana untuk menyelesaikannya?
Kaedah 1
Anda boleh menggunakan kaedah urlencode dan urldecode untuk memintas proses transcoding kepada unicode Mula-mula urlencode medan Cina, kemudian json_encode, dan akhirnya menggunakan urldecode untuk memproses hasilnya, dan ia akan berfungsi seperti biasa Paparkan Bahasa Cina. Kod khusus adalah seperti berikut:
$arr = [ '世界', '你好',];echo urldecode(json_encode(array_map('urlencode', $arr)));
Hasil output ialah:
["世界","你好"]
Kaedah 2
Sejak versi PHP5.4, pegawai telah menambah yang baharu pilihan untuk Json : JSON_UNESCAPED_UNICODE. Selepas menambah pilihan ini, bahasa Cina tidak akan dikodkan secara automatik. Kod khusus adalah seperti berikut:
$arr = [ '世界', '你好',];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
Outputnya ialah:
["世界","你好"]
Lihat, inilah hasil yang kami mahukan:)
Nota
Apa yang perlu kita perhatikan ialah memandangkan json_encode dan json_decode hanya menyokong aksara yang dikodkan utf-8, aksara gbk mesti ditukar jika anda ingin menggunakan fungsi json.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menukar php json kepada bahasa Cina. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!