Thiếu nội dung khai báo bộ ký tự hoặc khai báo quá muộn trong HTML

Máy chủ và trình duyệt giao tiếp với nhau bằng cách gửi các byte dữ liệu qua Internet. Nếu máy chủ không chỉ định định dạng mã hoá ký tự nào thì đó là khi sử dụng khi gửi tệp HTML, trình duyệt sẽ không biết mỗi byte biểu thị ký tự nào. Khai báo phương thức mã hoá ký tự Quy cách sẽ giải quyết vấn đề này.

Cách hoạt động kiểm tra charset của Lighthouse không thành công

Lighthouse gắn cờ các trang không chỉ định chế độ mã hoá ký tự:

Kiểm tra quá trình mã hoá ký tự không thành công.

Lighthouse sẽ khai báo bộ mã hoá ký tự nếu tìm thấy bất kỳ điều kiện nào sau đây:

  • Một phần tử <meta charset> trong <head> của tài liệu đã hoàn chỉnh có trong 1024 byte đầu tiên của tài liệu
  • Tiêu đề phản hồi HTTP Content-Type có lệnh charset khớp với một tên IANA hợp lệ
  • Một dấu thứ tự byte (BOM)

Cách vượt qua quá trình kiểm tra charset

Thêm phần tử <meta charset> vào HTML

Thêm một phần tử <meta charset> trong vòng 1024 byte đầu tiên của tài liệu HTML. Phần tử phải có đầy đủ trong 1024 byte đầu tiên. Phương pháp hay nhất là đặt phần tử <meta charset> làm phần tử đầu tiên trong <head> giấy tờ của bạn.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    …

Thêm tiêu đề phản hồi HTTP Content-Type

Định cấu hình máy chủ của bạn để thêm Content-Type Tiêu đề phản hồi HTTP bao gồm lệnh charset.

Content-Type: text/html; charset=UTF-8

Tài nguyên