שרתים ודפדפנים מתקשרים ביניהם באמצעות שליחת בייטים של נתונים באינטרנט. אם השרת לא מציין באיזה פורמט קידוד תווים הוא משתמש כשהוא שולח קובץ HTML, הדפדפן לא יידע איזה תו מייצג כל בייט. הבעיה הזו נפתרת באמצעות המפרט של ההצהרה לגבי קידוד תווים.
איך הביקורת charset של Lighthouse נכשלת
Lighthouse מסמן דפים שלא מצוין בהם קידוד התווים:
Lighthouse מחשיב את קידוד התווים כמוצהר אם הוא מוצא אחד מהדברים הבאים:
- רכיב
<meta charset>ב-<head>של המסמך, שמוכל כולו ב-1,024 הבייטים הראשונים של המסמך Content-Typeכותרת תגובת HTTP עם הנחייתcharsetשתואמת לשם IANA תקין- סימן סדר בתים (BOM)
איך עוברים את הביקורת charset
מוסיפים רכיב <meta charset> ל-HTML
מוסיפים רכיב <meta charset> ב-1,024 הבייטים הראשונים של מסמך ה-HTML.
הרכיב חייב להיות כלול במלואו ב-1,024 הבייטים הראשונים.
השיטה המומלצת היא להגדיר את הרכיב <meta charset> כרכיב הראשון ב-<head> של המסמך.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
הוספת כותרת תגובת HTTP של Content-Type
מגדירים את השרת להוספת כותרת תגובת HTTP Content-Type
שכוללת את ההנחיה charset.
Content-Type: text/html; charset=UTF-8