Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Teks Respons AJAX PHP Saya Gagal Perbandingan Rentetan?

Mengapa Teks Respons AJAX PHP Saya Gagal Perbandingan Rentetan?

Linda Hamilton
Linda Hamiltonasal
2024-11-06 17:52:03155semak imbas

Why Is My PHP AJAX Response Text Failing String Comparisons?

Mengelakkan Watak 65279 Bergema dalam PHP

Apabila menerima respons melalui panggilan balik AJAX, anda mungkin menghadapi masalah apabila teks yang diambil (xmlhttp. responseText) kelihatan betul, tetapi perbandingan terhadap rentetan tertentu menghasilkan keputusan palsu. Ini selalunya disebabkan oleh kehadiran watak halimunan dengan charCodeAt(0) daripada 65279.

Memahami Aksara 65279

Watak 65279 ialah Watak Kawalan Unikod (Unicode titik kod U FEFF) yang menentukan endian pengekodan Unikod:

  • Big-Endian: Bait disimpan dalam susunan bait paling penting dahulu.
  • Little-Endian: Bait disimpan dalam susunan bait paling tidak ketara dahulu.

Punca Watak 65279 Bergema

Watak 65279 biasanya ditambahkan pada fail yang dikodkan UTF-8 oleh editor seperti Windows Notepad . Apabila fail PHP dimasukkan ke dalam yang lain, ia boleh memperkenalkan aksara ini, mengakibatkan tingkah laku yang tidak dijangka.

Penyelesaian

Untuk mengelakkan aksara 65279 bergema, anda boleh:

  • Gunakan Editor Teks Tanpa BOM: Edit fail PHP menggunakan editor seperti Notepad yang membenarkan penyimpanan dalam pengekodan UTF-8 tanpa Tanda Pesanan Bait (BOM).
  • Simpan Fail PHP dengan Pengekodan ANSI: Simpan fail PHP yang tidak menggunakan aksara lanjutan dalam pengekodan ANSI.
  • Alih Keluar Aksara 65279 Secara Manual: Semak permulaan Teks respons dan jika ia mengandungi aksara 65279, alih keluarnya sebelum membandingkan.

Atas ialah kandungan terperinci Mengapa Teks Respons AJAX PHP Saya Gagal Perbandingan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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