Watak 65279: Halangan Halimunan dalam PHP Bergema
Apabila bertukar data melalui AJAX dalam PHP, pembangun mungkin menghadapi isu yang membingungkan di mana respons XML mengandungi aksara halimunan dengan kod aksara 65279. Aksara ini, Unicode Byte Order Mark (BOM), boleh menyebabkan tingkah laku yang tidak dijangka apabila membandingkan rentetan atau menjalankan operasi lain.
Punca Punca: Notepad's UTF-8 BOM
Windows Notepad, editor teks yang biasa digunakan, sering menambah BOM apabila menyimpan fail dengan pengekodan UTF-8. BOM ini terdiri daripada tiga bait: EF BB BF. Walaupun PHP biasanya mengabaikan aksara ini, ia boleh menyebabkan masalah apabila memasukkan satu fail PHP ke dalam fail PHP yang lain.
Kesan pada Perbandingan Rentetan
Apabila fail yang mengandungi BOM disertakan, BOM menjadi prepended kepada semua rentetan berikutnya. Ini boleh membawa kepada perbandingan palsu, kerana kod aksara 65279 bukanlah aksara yang sah dalam kebanyakan bahasa pengaturcaraan.
Penyelesaian 1: Gunakan UTF-8 Notepad tanpa Pengekodan BOM
Untuk mengelakkan isu BOM, gunakan penyunting teks alternatif seperti Notepad , yang membolehkan anda menyimpan fail dalam UTF-8 tanpa BOM. Hanya pilih "Enkod dalam UTF-8 tanpa BOM" daripada menu Pengekodan.
Penyelesaian 2: Simpan Fail yang Disertakan dengan Pengekodan ANSI
Jika anda mesti menggunakan pad nota, anda juga boleh mengurangkan masalah dengan menyimpan fail PHP yang disertakan dengan pengekodan ANSI. Ini akan mengakibatkan penyingkiran aksara BOM. Walau bagaimanapun, perlu diingat bahawa pengekodan ANSI mungkin tidak menyokong aksara lanjutan.
Atas ialah kandungan terperinci Mengapa XML respons AJAX saya mengandungi aksara yang tidak kelihatan dengan kod 65279?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!