Server dan browser berkomunikasi satu sama lain dengan mengirim byte data melalui internet. Jika server tidak menentukan format encoding karakter yang digunakan saat mengirim file HTML, browser tidak akan mengetahui karakter yang diwakili oleh setiap byte. Spesifikasi deklarasi encoding karakter menyelesaikan masalah ini.
Penyebab kegagalan audit charset Lighthouse
Lighthouse menandai halaman yang tidak menentukan encoding karakternya:
Lighthouse menganggap encoding karakter dideklarasikan jika menemukan salah satu hal berikut:
- Elemen
<meta charset>dalam<head>dokumen yang sepenuhnya terkandung dalam 1024 byte pertama dokumen - Header respons HTTP
Content-Typedengan direktifcharsetyang cocok dengan nama IANA yang valid - Byte-order mark (BOM)
Cara lulus audit charset
Tambahkan elemen <meta charset> ke HTML Anda
Tambahkan elemen <meta charset> dalam 1024 byte pertama dokumen HTML Anda.
Elemen harus sepenuhnya berada dalam 1024 byte pertama.
Praktik terbaiknya adalah menjadikan elemen <meta charset> sebagai elemen pertama dalam
<head> dokumen Anda.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Tambahkan header respons HTTP Content-Type
Konfigurasi server Anda untuk menambahkan header respons HTTP Content-Type yang menyertakan direktif charset.
Content-Type: text/html; charset=UTF-8