apache上の文字化け

Tomcatでの文字化けは、フィルタークラスを配置することによって回避していたので、
普通にウェブアプリケーションをテストしていたのでは気づかなかったが、
通常のhtmlファイルは文字化けしてしまう。


私の環境は、Apache2+Tomcat5.5の連携。


htmlのヘッダには、EUC-JPを指定しているのに、
ブラウザで見ると、「西ヨーロッパ言語」で表示されるのだ。
(その後、エンコーディングEUC-JPを選択すると正しく表示)


apacheのコンフィグレーションファイルにデフォルト指定された文字コードが優先され、
htmlのメタタグに記述しているエンコーディングが無視されてしまうみたい。

以下、その回避方法。

1.APACHE_HOME\conf\httpd.confの700行目辺り

AddDefaultCharset ISO-8859-1

・・・となっているところを、

#AddDefaultCharset ISO-8859-1
AddDefaultCharset off

・・・って修正。


デフォルト、ISO-8859-1を指定している部分をコメントアウトして、
オフにするって修正ね。
オフにしたら、htmlで指定している文字コードでデフォルト表示されるようになります。


html側には、メタタグで文字コード指定するのを忘れないように。

<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">

Tomcatだけの設定で油断してたら、文字化けしててびっくり。
つか、これ、メタタグの指定意味ないし。

デフォルトが西ヨーロッパ言語ってどーなんだ。