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

שרתים ודפדפנים מתקשרים ביניהם באמצעות שליחת בייטים של נתונים באינטרנט. אם השרת לא מציין באיזה פורמט קידוד תווים הוא משתמש כשהוא שולח קובץ 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

משאבים