json_encode Separa Gagal pada Pengekodan Tatasusunan
Masalah:
json_encode tidak menghasilkan JSON untuk pertanyaan tertentu dalam skrip PHP yang mengambil data daripada pangkalan data dan mengekodnya sebagai JSON. Isu ini nampaknya khusus untuk kod benua tertentu, dengan sesetengahnya mengembalikan JSON yang sah manakala yang lain menghasilkan output kosong.
Punca:
json_encode memerlukan semua data input menjadi UTF-8 dikodkan. Sesetengah rekod pangkalan data mungkin mengandungi aksara yang perlu ditukar kepada UTF-8 sebelum dikodkan sebagai JSON.
Penyelesaian:
Pastikan semua komponen aplikasi web menggunakan Pengekodan UTF-8. Ini boleh dicapai dengan menetapkan konfigurasi berikut:
Berikut ialah contoh pertanyaan MySQL untuk menetapkan set aksara kepada UTF-8:
<code class="sql">ALTER DATABASE `database_name` CHARACTER SET utf8;</code>
Setelah pengekodan UTF-8 diwujudkan, json_encode harus berfungsi dengan betul untuk semua rekod pangkalan data.
Atas ialah kandungan terperinci Mengapa json_encode Separa Gagal pada Pengekodan Array?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!