30

W3C のHTML5 と HTML4 の違いワーキング ドラフトには次のように記載されています。

HTML 構文の場合、作成者は文字エンコーディングを宣言する必要があります。

「必須」とはどういう意味ですか?

charset明らかに、ブラウザはメタ タグなしで HTML5 をレンダリングします。エンコーディングが指定されていない場合、ブラウザはどのエンコーディングを使用しますか?

基本的に、実際に を含める必要がある<meta charset="">かどうか、または 99% の確率でブラウザが正しいエンコーディングを使用するかどうかを知りたいです。

4

4 に答える 4

36

を含める必要はありません<meta charset="blah">。仕様にあるように、文字セットは、サーバーが HTTPContent-Typeヘッダーを使用して指定するか、ダウンロードしたファイルの先頭に Unicode BOM を含めることによって指定することもできます。

Content-Type現在、ほとんどの Web サーバーは、指定されていない場合、HTML テキスト データのヘッダーに文字セットを送り返します。Content-TypeWeb サーバーがヘッダー付きの文字セットを返送せずファイルに BOM が含まれておらずページに<meta charset="blah">宣言が含まれていない場合、ブラウザーには通常、ホストの言語設定に基づく既定のエンコードが設定されます。コンピューター。これがファイルの実際の文字エンコーディングと一致しない場合、一部の文字が正しく表示されません。

ブラウザは 99% の確率で適切なエンコーディングを使用しますか? ページが UTF-8 の場合、おそらく。そうでない場合は、おそらくそうではありません。

W3C は、3 つのメソッドの優先順位規則の概要を説明したドキュメントを提供しています。このドキュメントでは、順序は HTTP ヘッダー、BOM、その後にドキュメント内の仕様 (メタ タグ) が続きます。

于 2013-02-03T04:15:40.843 に答える
5

Google PageSpeed ブラウザー拡張機能によると、meta 要素で文字セットを宣言すると、「IE8 の先読み機能が無効になり」、すべてをシリアルにダウンロードするように強制されるようです。

私の理解では<meta charset-"utf-8">、有効な HTML5 にはそれが必要でしたが、それが私がここでブラウジングを始めた理由です。

仕様の草案は私にはかなり明確に思えます.HTTPヘッダーを.htaccess.

ありがとう。

@Jules Mazurこれらの点について参考文献はありますか?私がしていることのほとんどは SEO であり、アクセシビリティは私にとって重要です。その場合は、メタ宣言を残すことを受け入れる以上のものです。

于 2013-11-24T23:04:58.867 に答える