اعلان مجموعه نمودار وجود ندارد یا خیلی دیر در HTML رخ می دهد

سرورها و مرورگرها با ارسال بایت داده از طریق اینترنت با یکدیگر ارتباط برقرار می کنند. اگر سرور هنگام ارسال فایل HTML مشخص نکند که از کدام قالب رمزگذاری نویسه استفاده می کند، مرورگر نمی داند هر بایت چه کاراکتری را نشان می دهد. مشخصات اعلان رمزگذاری کاراکتر این مشکل را حل می کند.

چگونه ممیزی charset فانوس دریایی شکست می خورد

فانوس دریایی صفحاتی را که رمزگذاری کاراکتر آنها را مشخص نمی کند، پرچم گذاری می کند:

ممیزی رمزگذاری کاراکتر ناموفق.

Lighthouse در صورت یافتن یکی از موارد زیر، رمزگذاری کاراکتر را اعلام می کند:

  • یک عنصر <meta charset> در <head> سند که به طور کامل در 1024 بایت اول سند موجود است.
  • یک سرصفحه پاسخ HTTP Content-Type با دستورالعمل charset که با نام معتبر IANA مطابقت دارد
  • علامت سفارش بایت (BOM)

نحوه گذراندن ممیزی charset

یک عنصر <meta charset> را به HTML خود اضافه کنید

یک عنصر <meta charset> را در 1024 بایت اول سند HTML خود اضافه کنید. عنصر باید به طور کامل در 1024 بایت اول باشد. بهترین روش این است که عنصر <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

منابع