これら2つの違いは何ですか?両方を使用する必要がありますか? Web サイトを完全に UTF-8 にしたい。
PHP の場合:
<?php
header("Content-Type: text/html; charset=utf-8");
?>
そして、HTML のメタ タグ:
<meta charset="utf-8">
HTTPContent-Type
ヘッダーは常に設定する必要があります。これは、ブラウザーが処理しているドキュメントの種類を把握するための主要なソースです。このヘッダーがない場合にのみ、ブラウザはフォールバックと同じ情報を提供する HTML メタ タグを見つけようとします。
ただし、HTML ドキュメントをディスクに保存することができるため、両方のフラグを設定することは理にかなっています。
ブラウザーがドキュメントの文字セットを決定する方法の正確な規則は、http ://www.w3.org/TR/html5/syntax.html#determining-the-character-encoding で確認できます。
header("Content-Type: text/html; charset=utf-8");
サーバー側であり、新しいページをクライアントに送信する前にそれを呼び出す PHP スクリプトに依存します。
<meta charset="utf-8">
meta 要素には 2 つの用途があります。HTTP 応答ヘッダーの使用をエミュレートするため、または HTML ドキュメント内に追加のメタデータを埋め込むためです。そのため、メタ タグは、サイトに utf-8 を含めるための最良の方法です。