Mengapa Watak 65279 Muncul dalam Respons PHP Saya?
Nov 07, 2024 pm 12:01 PMMemahami Misteri Watak 65279 Echo dalam PHP
Walaupun menghadapi isu yang membingungkan semasa panggilan balik AJAX, di mana teks dipaparkan dengan betul dalam amaran tetapi gagal dipadankan dalam pernyataan 'jika', pelakunya ialah watak tersembunyi pada permulaan teks respons. Menariknya, watak ini mempunyai kod aksara 65279.
Penyiasatan lanjut mendedahkan bahawa watak ini, yang berasal daripada kod PHP sebelah pelayan, ialah watak kawalan UTF-8 yang tidak kelihatan yang bertujuan untuk mentakrifkan pengekodan respons. Walau bagaimanapun, persoalan timbul: mengapa watak ini dikumandangkan secara tidak sengaja?
Setelah memeriksa kod PHP dengan lebih dekat, pernyataan 'gema' mudah digunakan untuk mengeluarkan respons. Walau bagaimanapun, ia menjadi jelas bahawa Notepad, yang digunakan untuk menyimpan fail PHP, secara halus menambah Byte Order Mark (BOM) pada fail tersebut. BOM ini terdiri daripada tiga bait: EF BB BF, dan tujuannya adalah untuk menunjukkan bahawa pengekodan fail adalah UTF-8 dengan susunan bait besar-endian.
Walaupun PHP secara amnya mengendalikan BOM tanpa isu, masalah boleh timbul apabila satu fail PHP dimasukkan ke dalam fail yang lain. Dalam kes sedemikian, BOM boleh menyebabkan rentetan dipaparkan dengan aksara 65279 yang didahulukan padanya, membawa kepada tingkah laku yang tidak dijangka dalam perbandingan.
Syukurlah, terdapat cara untuk mengelakkan isu ini:
- Gunakan Notepad dan "Encode dalam UTF-8 tanpa BOM": Notepad menawarkan pilihan untuk menyimpan fail dalam pengekodan UTF-8 tanpa menambah BOM, menyelesaikan masalah dengan berkesan.
- Simpan fail PHP yang disertakan dalam pengekodan ANSI dalam Notepad: Walaupun pilihan ini sesuai jika fail tidak mengandungi aksara lanjutan, ia mungkin tidak sesuai dalam semua situasi.
Dengan melaksanakan ini penyelesaian, pembangun boleh menghalang penampilan watak 65279 yang tidak diingini dalam respons PHP mereka, memastikan perbandingan dan operasi rentetan lain berfungsi seperti yang dimaksudkan.
Atas ialah kandungan terperinci Mengapa Watak 65279 Muncul dalam Respons PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel

Respons HTTP yang dipermudahkan dalam ujian Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon
