Bagaimana Mengendalikan Aksara UTF-8 Apabila Mengekodkan Array PHP ke JSON?

Barbara Streisand
Lepaskan: 2024-11-01 13:50:54
asal
896 orang telah melayarinya

How to Handle UTF-8 Characters When Encoding a PHP Array to JSON?

Pertempuran Pengekodan JSON dengan Aksara UTF-8 dalam PHP

Dalam bidang pengendalian pangkalan data dalam PHP, seseorang mungkin menghadapi cabaran apabila bekerja dengan aksara beraksen dan pengekodan UTF-8. Pertimbangkan senario di mana anda ingin mendapatkan semula baris daripada jadual yang mengandungi aksara beraksen dan pengekodan lajur dikonfigurasikan sebagai latin1_swedish_ci.

Memahami Masalah

Percubaan untuk dipaparkan baris yang diambil menggunakan utf8_encode() pada mulanya nampaknya berfungsi, tetapi pengekodan JSON berikutnya menggunakan json_encode() menghasilkan nilai nol untuk medan yang terjejas. Ini timbul kerana json_encode() mungkin tidak mengendalikan aksara UTF-8 yang dikodkan menggunakan mysql_fetch_assoc().

Penyelesaian untuk Memelihara UTF-8

Untuk menyelesaikan isu ini, gunakan pendekatan berikut:

  1. Buat tatasusunan kosong bernama $rows untuk menyimpan hasil yang dikodkan.
  2. Lelaran ke atas set hasil pangkalan data menggunakan while($row = mysql_fetch_assoc($result)) .
  3. Untuk setiap baris, gunakan utf8_encode() pada setiap elemen menggunakan $rows[] = array_map('utf8_encode', $row). Langkah ini menukar aksara beraksen kepada UTF-8 dengan betul.
  4. Akhir sekali, kodkan tatasusunan $rows kepada JSON menggunakan echo json_encode($rows).

Dengan melaksanakan kaedah ini, JSON pengekodan akan mewakili aksara UTF-8 dengan betul, mengekalkan aksara beraksen dan menghalang nilai nol untuk medan yang terjejas.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Aksara UTF-8 Apabila Mengekodkan Array PHP ke JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!