Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar php json kepada bahasa Cina

Bagaimana untuk menukar php json kepada bahasa Cina

藏色散人
Lepaskan: 2023-03-12 16:32:01
asal
3499 orang telah melayarinya

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.

Bagaimana untuk menukar php json kepada bahasa Cina

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);
Salin selepas log masuk

Outputnya ialah:

["a","b","c"]
Salin selepas log masuk

Tetapi , apabila kita letakkan aksara Cina dalam tatasusunan, masalah akan berlaku:

 $arr = [    '世界',    '你好',];echo json_encode($arr);
Salin selepas log masuk

Hasil output ialah:

["\u4e16\u754c","\u4f60\u597d"]
Salin selepas log masuk

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)));
Salin selepas log masuk

Hasil output ialah:

["世界","你好"]
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

Outputnya ialah:

["世界","你好"]
Salin selepas log masuk
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan