HTML5のメタキャラセットタグ

HTML5で文字エンコーディングを設定する

HTML5が導入される前に、以下のようなやや冗長な行を書くために必要な要素を持つ文書の文字エンコーディングを設定してください。 WebページでHTML4を使用していた場合、これはMeta Charset要素です:

このコードでは、 content属性の前後に表示される引用符を注意してください。content = " text / html; charset = iso-8859-1 " すべてのHTML属性と同様に、これらの引用符は属性の値を定義し、文字列全体がtext / htmlであることを示します。 charset = iso-8959-1はこの要素の内容です。これは適切なHTMLであり、この文字列がどのように記述されるのかです。 それはまた、長いと醜い扱いにくいです! 頭の上から覚えている可能性もあります。 ほとんどの場合、Web開発者は、このコードを1つのサイトから新しいサイトにコピーして貼り付けなければなりません。

HTML5は余分な"スタッフ"

HTML5は言語に新しい要素追加しただけでなく、Meta Charset要素を含むHTML構文の多くを大幅に簡素化しました.HTML5では、 META要素の構文を覚えやすくなるように文字エンコーディングを追加できますあなたは以下を参照してください:

この簡単な構文と、HTML4で使用されていた古い構文をこの記事の冒頭に書いたものと比較すると、HTML5のバージョンが本当にどれくらい簡単に書いて覚えているかがわかります。 既存のサイトからこれをコピーして新しいWebサイトに貼り付ける必要はなく、フロントエンドのWeb開発者が覚えていることは絶対にあります。 このように時間を節約すれば、HTML5の簡略化された他の構文領域を考慮すると、節約につながります。

エンコードする文字を常に含める

特別な文字を使用するつもりがない場合でも、Webページの文字エンコーディングは常に含める必要があります。 文字エンコーディングを含まないと、サイトはUTF-7を使用したクロスサイトスクリプティング攻撃に対して脆弱になります。

このシナリオでは、あなたのサイトには文字エンコーディングが定義されていないと見なされるため、ブラウザは実際にページの文字エンコーディングがUTF-7であると思うようになります。 次に、攻撃者はUTF-7でエンコードされたスクリプトをWebページに挿入し、サイトがハッキングされます。これは明らかに、あなたの会社から訪問者まで関与するすべての人にとって問題です。 良いニュースは、避けるのは簡単な問題だということです。すべてのウェブページに文字エンコーディングを必ず追加してください。

文字エンコーディングを追加する場所

ウェブページの文字エンコーディングは、HTMLの要素の最初の行にする必要があります。これは、doctypeを判断し、それがページであることを特定する以外に、ページ上で何かをする前にブラウザが文字エンコーディングを知っていることを保証しますHTMLページ。 あなたのHTMLは読むべきです:

<!doctype html> ...

余分なセキュリティのためのHTTPヘッダーの使用

HTTPヘッダーで文字エンコードを指定することもできます。 これはHTMLページに追加するよりも安全ですが、サーバー設定や.htaccessファイルにアクセスする必要があります。つまり、ウェブサイトのホスティングプロバイダ協力してこのようなアクセス権を得るか、あなたのための変更。 アクセスは本当に挑戦です。 変更自体は簡単なので、どのホスティングプロバイダでも比較的簡単にこの変更を行うことができます。

Apacheを使用している場合は、ルート全体の.htaccessファイルにAddDefaultCharset UTF-8を追加して、サイト全体のデフォルト文字セットを設定できます。 Apacheのデフォルトの文字セットはISO-8859-1です。