HTML講座テーマ別
☆文字を防止する - クイックガイド
腹減り日誌 - donguri browser 
文嚔サけを防~するには文噬Rードをw定する。

↑文字化けのイメージ 場合によってはもっと滅茶苦茶になるよ。


 
1. 文字化けする原因は?
 
2. 文字化けを防止するには
 
3. その他の原因
 
文字化けする原因は?

文字化けの起こる原因は ブラウザがHTMLファイルを読み込んで表示する際に 文字コードを間違う事が主な原因。 例えばShift JISで書かれた『文字化け』という文字を EUCで表示しようとすると『文嚔サけ』と表示されてしまう。

文字コードについては『文字コードとは』で説明してるよ。

文字化けを防止するには

文字化けを防ぐにはブラウザが文字コードを間違わないように 文字コードを明記しておく方法がある。 これにはメタ情報(文書ついての情報)を付け足すタグを使うよ。

メタ情報を追加するタグは<meta>だよ。

このタグには文字コードを指定する他にも 様々な情報を追加することが出来るよ。 <meta>で文字コードを指定する場合には さらに次の2つの属性を書き加える。

HTTPヘッダを指定する属性名はhttp-equiv
内容を指定する属性名はcontentだよ。

いきなりHTTPヘッダだの言われても何のこっちゃだろうけど 文字化けを防止するためにはあまり深く考えずに 次のように書けばいいんだ。 書き込む場所は<head>〜</head>の間。 なるべく<head>の直後、 <title>よりも前に書き込んだ方がいいよ。

<meta http-equiv="Content-type"
 content="text/html; charset=Shift_JIS">
charset=はcontentの属性値であることに注意

これは文字コードをShift JISで指定した場合。 文字コードがわからない人もいるかもしれないけど WINDOWSやMacintoshで作ってる人はだいたいShift JISで大丈夫なはず。 文字コードが指定できるテキストエディタなどで 別の文字コードで保存してる場合は別だけどね。

もしEUCなど他の文字コードを使っている場合は、 下のソースでオレンジで示した部分を書きかえればいいよ。

<meta http-equiv="Content-type"
 content="text/html; charset=Shift_JIS">

文字コード <meta>に書き込む文字
JIS iso-2022-jp
Shift JIS Shift_JIS
EUC euc-jp
Unicode(UTF-7) UTF-7
Unicode(UTF-8) UTF-8



Shift JISの場合は_(アンダースコア)を忘れないように

その他の原因

ブラウザが文字コードを間違える他にも文字化けの原因はある。 FTPソフトでファイルを転送する際に 文字コードが狂ってしまう事がある。 日本語に対応したFTPソフトを使っている分には これが原因となる事はごく稀なので 大抵もう一度転送しなおせば直るよ。 海外版を使っている場合は転送モードを バイナリモードで転送すればOK。

最後に何らかの原因で文字化けしてしまった時は ブラウザの『表示』メニューから『エンコード』を選択して 『自動選択』などを選べば直る場合もある。 これは観ている人各自でやってもらうしかないので 作る側としてはどうしようにもないんだけどね・・・。
 
ウェブ木箱HTML講座
Copyright(C) 2003 あう