Sam'Suffitの日記: Apache Add Charset
IE5がデビューした当時、文字化けが流行?した事を覚えているだろうか?
これは、metaタグが入っていないHTMLの文字コード判定に失敗することが原因であったが、Apacheのバージョンが1.3X & Netscapeの環境でも文字化けが起こる例が、ここ最近多発している。
この件に関しては、 KUSANO, Takayuki氏のサイトが詳しい。
ごくごく、一般的な個人的WEBサイト製作者としては Add Charset を使うべく.htaccessで対処する方法がのぞましいと思う。 ただ、この場合WEBサーバでMultiviewsを利用できるようになっているか、そのように設定できるように許可されている必要がある。
私の利用しているISPでは、WEB用のサーバとCGI実行用のサーバが分かれていてWEB用のサーバでは、 CGIを実行でき無いようにするためにUserDirは AllowOverride NONE が設定してあるので残念ながら、 WEB用のサーバでは Add Charset は利用できないのだ。 CGI実行用のサーバは、HTMLも使え AllowOverride ALL になっているが ホスト名がwww.***.ne.jpではなく、cgi1.***.ne.jpになるため利用したくない。
解決策として、.htaccessに
Add Type "text/html; Charset=Shift_JIS" html
と設定して難を逃れたが、このやり方だと残念ながらhtmlの文字コードを変えたいファイルがある場合は、
対象のディレクトリーに逐一.htaccessを設置しなければならならない。
また、多言語のHTMLを書いた場合utf-8等を利用するが、
検索エンジン次第によってはこれらの文字コードに対応してくれない事例がありエレガント事を進めるには
Add Charset を利用するべきであろう。
本来ならばISPにお願いすればいい事かも知れないが、私の場合過去に負荷のかかるスクリプトをCGI実行サーバで動かしてしまいISP側に多大な迷惑をかけているため今回はお願いしない事にした。 そのうち、友人等にお願いしてそちら方面から頼んで貰うようにしようと思う。
なお、今回の Add Charset については ASAHI NET の ような先進的なISPでは既に設定してあるようでつくづくうらやましいと思う。