字元集宣告遺失或在 HTML 中太晚出現

伺服器和瀏覽器會透過 網際網路如果伺服器未指定要使用的字元編碼格式 ,瀏覽器無法得知每個位元組所代表的字元。 字元編碼宣告 就能解決這個問題

Lighthouse charset 稽核失敗的原因

Lighthouse 標記未指定字元編碼的網頁:

失敗字元編碼稽核。

如果 Lighthouse 找到以下任一項,系統會考慮要宣告的字元編碼:

  • 文件 <head> 中的 <meta charset> 元素,這個元素完全是 包含在文件前 1024 個位元組中
  • Content-Type HTTP 回應標頭,但 charset 指令與 有效的 IANA 名稱
  • 位元組順序標記 (BOM)
,瞭解如何調查及移除這項存取權。

如何通過 charset 稽核

在 HTML 中新增 <meta charset> 元素

在 HTML 文件的前 1024 個位元組中加入 <meta charset> 元素。 元素必須完全包含在前 1024 個位元組內。 最佳做法是將 <meta charset> 元素設為 第 <head> 份文件。

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

新增 Content-Type HTTP 回應標頭

設定伺服器以新增 Content-Type 包含 charset 指令的 HTTP 回應標頭。

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

資源