文字コードについて・2

サーバ側の設定を変えただけではまだ不十分である。
文字コードがらみのトラブルは、単純な文字化けですむとは限らない。一見正常に動いているように見えて、実は全く正しくない動きをすることもあり、原因の究明が非常に困難である。

1.スクリプトをすべてEUCで記述する

こういったトラブルの一番簡単な予防策は全てのHTML、PHPスクリプトをEUCコードで記述することである。EUCで記述を行うには、以下の手段がある。

  1. EUCに対応したエディタを使用する
  2. SJISで記述したファイルをFTPソフトでEUCに変換しながら転送
  3. SJISで送ったファイルを、サーバ側で文字コード変換ツール(qkc、nkf、ackなど)を使ってSJISからEUCに変換

ちなみにVectorでEUC変換ができるエディタを探してみたところ、HmEdit 0.20というFreeのHTMLエディタがあった。早速ダウンロードして使ってみたが、まあまあ使いやすいかな?って感じでしょうか。唯一気に入らないのが「名前を付けて保存」を選ぶと「*.htm、*.html、*.txt」以外の拡張子に指定できないこと。PHPスクリプトは拡張子を「.php3」に指定するので、とても不便である。ファイルを開くときには「*.*」があるのに何故?

2.HTMLに文字コードを宣言する

EUCで記述したHTMLやPHPスクリプトは、きちんと文字コードの宣言をして、EUCで記述していることをブラウザに教えることにより、トラブルを回避しよう。
<HEAD>セクション内に<META>タグを使って次のように記述することで、ブラウザは文字コードを判断できる。

<HEAD>
<TITLE>METAタグでEUCを宣言する</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=EUC-JP">
</HEAD>

[ TOP ]