HTML文書は文字エンコーディングUTF-8でなければなりません – 水底の血 という記事で知ったのですが、「HTML文書の文字エンコーディングは UTF-8
でなければならない」という意味の文言が HTMLの仕様書である HTML Living Standard に追記されたそうです。 現時点で、HTML文書が UTF-8
以外で記述される例を探すほうが難しい状況にはなっていましたが、これが明示的に仕様書に盛り込まれたわけです。
HTML の仕様書である HTML Living Standard には、現時点で以下のように記述されています。
Regardless of whether a character encoding declaration is present or not, the actual character encoding used to encode the document must be UTF-8.
引用元:4.2.5.5 Specifying the document’s character encoding – HTML Standard
日本語訳はこちらです。
文字エンコーディング宣言が存在するかどうかにかかわらず、文書のエンコードに使用される実際の文字エンコーディングはUTF-8でなければならない。
また、Web における Encoding の仕様書である Encoding Standard(日本語訳) でも、UTF-8
のみが「標準」扱いになっており、それ以外の文字エンコーディングは「Legacy」扱いになっています。(こちらは以前からこの内容だったようです)
昔は、Webサイトといえば EUC-JP
, ISO-2022-JP
, Shift_JIS
などの文字エンコーディングが利用されていましたが、これらの文字エンコーディングは完全に過去のものになったと言えそうです。