サーバ側の設定を変えただけではまだ不十分である。
文字コードがらみのトラブルは、単純な文字化けですむとは限らない。一見正常に動いているように見えて、実は全く正しくない動きをすることもあり、原因の究明が非常に困難である。
こういったトラブルの一番簡単な予防策は
全てのHTML、PHPスクリプトをEUCコードで記述することである。EUCで記述を行うには、以下の手段がある。
- EUCに対応したエディタを使用する
- SJISで記述したファイルをFTPソフトでEUCに変換しながら転送
- SJISで送ったファイルを、サーバ側で文字コード変換ツール(qkc、nkf、ackなど)を使ってSJISからEUCに変換
ちなみにVectorでEUC変換ができるエディタを探してみたところ、
HmEdit 0.20というFreeのHTMLエディタがあった。早速ダウンロードして使ってみたが、まあまあ使いやすいかな?って感じでしょうか。唯一気に入らないのが「名前を付けて保存」を選ぶと「*.htm、*.html、*.txt」以外の拡張子に指定できないこと。PHPスクリプトは拡張子を「.php3」に指定するので、とても不便である。ファイルを開くときには「*.*」があるのに何故?
EUCで記述したHTMLやPHPスクリプトは、きちんと文字コードの宣言をして、EUCで記述していることをブラウザに教えることにより、トラブルを回避しよう。
<HEAD>セクション内に<META>タグを使って次のように記述することで、ブラウザは文字コードを判断できる。
<HEAD>
<TITLE>METAタグでEUCを宣言する</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=EUC-JP">
</HEAD>