文字エンコードの宣言

サーバーとブラウザは、インターネット経由でデータをバイト単位で送信することで相互に通信します。サーバーが HTML ファイルを送信するときに、使用している文字エンコード形式を指定しない場合、ブラウザは各バイトがどの文字を表しているかわかりません。この問題は、文字エンコードの宣言の仕様で解決できます。

遅延 <meta charset> 要素(ドキュメントの最初の 1,024 バイトに完全に含まれていない要素)は、読み込みパフォーマンスに大きな影響を与える可能性があります。ブラウザは 1 つの文字エンコードを想定しますが、後でその想定が間違っていたことが判明した場合、HTML の解析を最初からやり直す必要があるためです。

この分析情報を渡す方法

インサイトは、次のいずれかが見つかった場合、文字エンコーディングが宣言されていると見なします。

  • ドキュメントの <head> 内の <meta charset> 要素が、ドキュメントの最初の 1,024 バイトに完全に含まれている
  • 有効な IANA 名と一致する charset ディレクティブを含む Content-Type HTTP レスポンス ヘッダー

分析情報を合格させるには、これらのいずれか 1 つを設定する必要があります。

HTML に <meta charset> 要素を追加する

HTML ドキュメントの最初の 1,024 バイト内に <meta charset> 要素を追加します。要素は最初の 1,024 バイト内に完全に含まれている必要があります。効果的な手法は、ドキュメントの <head> の最初の要素を <meta charset> 要素にすることです。

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

Content-Type HTTP レスポンス ヘッダーを追加する

charset ディレクティブを含む Content-Type HTTP レスポンス ヘッダーを追加するようにサーバーを構成します。

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

リソース