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だけの設定で油断してたら、文字化けしててびっくり。
つか、これ、メタタグの指定意味ないし。
デフォルトが西ヨーロッパ言語ってどーなんだ。