اعلان مجموعه نمودار وجود ندارد یا خیلی دیر در 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

منابع