ホームページ制作時の文字コード指定

2011.08.27

あるホームページを見たら変な文字が沢山並んでいて、何が書いてあるのか分からないホームページだったという経験はありませんか。

それは、ホームページのソースコードの中の日本語の文字コード(文字エンコーディングともいう)がブラウザが判断している文字コードと異なっている為です 。

最近のブラウザは性能が上がっているので、自動判別で文字コードを合わせてうまいこと表示されることが多いのですが、その自動判別がうまくいかない場合は、まったく検討違いの文字に変換されてしまうため、訳の分からない文字が並んだホームページになってしまうわけです。

もし、自分が見る側でありそういうホームページに出会った場合は、ブラウザの設定からエンコード(又はエンコーディング、テキストエンコーディング)の設定をそのホームページ制作時のエンコードに合わせてやれば、まともに表示されるようになります。

しかし、それがもし自分のホームページだったら困り者ですね。せっかく見てもらっていても、表示がおかしかったらホームページをみてもらえないばかりか、二度と見にきてもらえないなんて事にもなりかねません。

では、どうすればそうならずに済むのか?

ホームページ制作時にソースコードの中に文字コードの宣言をしてあげれば、問題を解決することが出来ます。 大抵のホームページ制作ソフトでは文字コードの指定は自動で付加されます。しかし、制作中にそれとは分からずに消してしまっている。ソースコードからホームページを制作した。何らかのスクリプトを使っている場合など注意が必要です。

ソースコードを開いて、以下の記述が無ければ<head></head>間の一番先頭に書き足してください。基本的には、あらゆる日本語の出現する前に無ければそれ以前の文字は無視されます。

もちろん、書かれている文章の文字コードと、指定する文字コードが一致させることが前提です。

Unicodeの場合 <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

シフトJISの場合 <meta http-equiv=”Content-Type” content=”text/html; charset=shift_jis”>

日本語EUCの場合 <meta http-equiv=”Content-Type” content=”text/html; charset=euc-jp”>

CSSを使いCSSファイルを外部ファイルにしている場合はCSSファイルも。 CSSファイルの先頭に記述してください。

Unicodeの場合(CSS) @charset “utf-8″;

シフトJISの場合(CSS) @charset “shift_jis”;

日本語EUCの場合(CSS) @charset “euc-jp”;