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 byte dữ liệu qua Internet. Nếu máy chủ không chỉ định định dạng mã hoá ký tự nào khi gửi tệp HTML, thì trình duyệt sẽ không biết mỗi byte đại diện cho ký tự nào. Quy cách khai báo mã hoá ký tự giải quyết vấn đề này.

Cách quy trình kiểm tra Lighthouse charset không thành công

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

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

Lighthouse sẽ xem mã hoá ký tự cần được khai báo nếu tìm thấy bất kỳ nội dung nào sau đây:

  • Phần tử <meta charset> trong <head> của tài liệu, nằm hoàn toàn trong 1024 byte đầu tiên của tài liệu
  • Tiêu đề phản hồi HTTP Content-Typecharset lệnh khớp với tên IANA hợp lệ
  • Dấu thứ tự byte (BOM)

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

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

Thêm phần tử <meta charset> trong 1024 byte đầu tiên của tài liệu HTML. Phần tử này phải được chứa đầy đủ trong 1024 byte đầu tiên. Cách tốt nhất là đặt phần tử <meta charset> làm phần tử đầu tiên trong <head> của tài liệu.

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

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

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

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

Tài nguyên