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.](https://developer.chrome.com/static/docs/lighthouse/best-practices/charset/image/the-failing-character-enc-65708532bd6a6.png?authuser=0&hl=vi)
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ệnhcharset
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