META タグで文字コードを指定しても文字化けしたり、
Shift_JIS と指定しているのに
ブラウザのエンコード情報を見てみるとEUC-JPになっていたりと、
METAタグの文字コード情報が正しく反映されない場合があります。
ブラウザは、HTMLを先頭から読み込んで行き、
文字または文字コードが最初に現れる場所で、
最適な文字コードを自動で判別します。
たまに、「美乳」とか「京」とかいう話を聞きます。
HTML の先頭に
<!-- 美乳 -->
とか
<!-- 京 -->
のように書いておけば、自動的にEUC-JPと判別してくれるという話です。
しかし、自動判別だとブラウザによっては
正しく文字コードが認識されないのではないか、という懸念が残ります。
そこでMETAタグで文字コードを指定してやれば、
ブラウザの自動判別に頼らず意図した文字コードで
HTMLページを表示させることが出来ます。
では、以下のHTMLを見てください。
<html>
<head>
<title>未来樹レジデンス</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<head>
<title>未来樹レジデンス</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
このHTMLの文字コードはどうなるでしょう。
METAタグで指定しているので、Shift_JISになりそうなものですが、
それよりも前に 2 バイト文字が使われています。
これでは、せっかく文字コードを指定しても
タイトルタグに使われている文字によって自動判別されてしまうので
意味がありません。
文字コードを指定するMETAタグは、
タイトルタグよりも先に書かなくてはいけません。
タイトルタグ以外にも 2 バイト文字が使用される場合は、
それもMETAタグより後に記述する必要があります。
0 件のコメント:
コメントを投稿