Menetapkan Pengepala HTTP UTF-8 untuk Pengesahan W3C
Apabila bekerja dengan PHP dan HTML, adalah penting untuk memastikan bahawa pengepala HTTP dihantar oleh PHP sepadan dengan pengekodan aksara yang dinyatakan dalam fail HTML. Pengesah W3C boleh mengenal pasti percanggahan antara kedua-duanya, mengakibatkan ralat pengesahan.
Isunya
Dalam contoh yang disediakan, kod HTML menggunakan charset UTF-8, manakala pengepala PHP lalai kepada ISO-8859-1. Ketidakpadanan ini mencetuskan ralat pengesahan berikut:
"Pengekodan aksara yang dinyatakan dalam pengepala HTTP (iso-8859-1) adalah berbeza daripada nilai dalam elemen (utf-8)."
Penyelesaian: Mengubah Suai Pengepala HTTP
Untuk menyelesaikan isu ini, PHP menyediakan fungsi header(), yang membolehkan anda mengubah suai pengepala HTTP yang dihantar kepada klien. Untuk menetapkan pengepala HTTP kepada UTF-8, gunakan kod berikut:
header('Content-Type: text/html; charset=utf-8');
Adalah penting untuk memanggil fungsi pengepala() sebelum sebarang output dihantar kepada klien. Kegagalan berbuat demikian akan mengakibatkan ketidakupayaan untuk mengubah suai pengepala. Anda boleh menggunakan fungsi headers_sent untuk menyemak sama ada pengepala telah dihantar.
Dengan melaksanakan kod ini, anda boleh memastikan bahawa pengepala HTTP yang dihantar oleh PHP sepadan dengan pengekodan aksara UTF-8 yang dinyatakan dalam fail HTML, menyelesaikan ralat pengesahan.
Atas ialah kandungan terperinci Bagaimanakah Saya Membetulkan Ralat Pengesahan W3C yang Disebabkan oleh Pengepala HTTP dan Pengekodan Aksara HTML yang Tidak Padan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!