Dalam senario yang melibatkan objek PHP stdClass ($post), fungsi json_encode() tiba-tiba gagal mengekod sifat post_title, mengakibatkan nilai nol dalam output JSON. Walaupun pengekodan UTF-8 jelas bagi pangkalan data, nampaknya proses pengambilan data mungkin tidak dikonfigurasikan dengan betul.
JSON isu pengekodan berpunca daripada pengekodan yang salah bagi aksara petikan tunggal dalam post_title. Khususnya, aksara itu dikodkan dalam Windows-1252, menghasilkan nilai heks 92, yang bukan aksara UTF-8 yang sah.
Untuk menyelesaikan masalah ini, pengekodan sambungan pangkalan data perlu ditetapkan kepada UTF-8. Kaedah yang digunakan bergantung pada API yang digunakan:
Perlu ambil perhatian bahawa menetapkan pengekodan sambungan memastikan data yang diambil daripada pangkalan data dikodkan dengan betul dalam UTF-8. Walau bagaimanapun, jika data disimpan dalam pengekodan yang salah, seperti Windows-1252, penukaran manual melalui utf8_encode() atau cara lain mungkin diperlukan.
Atas ialah kandungan terperinci Mengapakah `json_encode()` Gagal Apabila Mengekodkan Petikan Tunggal dalam PHP dengan Pengekodan Windows-1252?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!