ההצהרה על ערכת Charset חסרה או שהיא מתרחשת בשלב מאוחר מדי ב-HTML

שרתים ודפדפנים מתקשרים ביניהם על ידי שליחת בייטים של נתונים באינטרנט. אם השרת לא מציין באיזה פורמט קידוד תווים הוא משתמש כשהוא שולח קובץ HTML, הדפדפן לא יודע איזה תו מייצג כל בייט. המפרט של הצהרת קידוד התווים פותר את הבעיה.

איך הבדיקה של charset ב-Lighthouse נכשלת

מערכת Lighthouse מסמנת דפים שלא מצוין בהם קידוד התווים:

בדיקת קידוד התווים שנכשלה.

במסגרת Lighthouse, מוצהר על קידוד התווים אם הוא מזהה:

  • רכיב <meta charset> ב-<head> של המסמך, שכלול לחלוטין ב-1,024 הבייטים הראשונים של המסמך
  • כותרת תגובת HTTP מסוג Content-Type עם הוראת 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

מקורות מידע