先日XPを入れなおしたPCを自宅サーバーにしようと思ってApacheをいれた。
これまで通り普通にインストールし、indexを作って放り込んでみた。
しかしなぜか日本語が文字化け。
おや。
htmlはutf-8で保存したのに文字エンコーディングいろいろを変えてみてもだめ。
Apache側の問題?って思ってhttpd.confをくまなく見てみる。
でもLanguage関係のことがどこにも書いてない。
ググール君に聞くと、どうやらAddLanguageの設定が必要らしい。
まえにApacheいれたときはそんなことしなかったのになーって思ってAddLanguageを探す。
しかしどこにもAddLanguageに関する項目が見つからない。
ファイルをくまなく見ること1時間。
あることに気づく。
なぜかhttp-language.confってのがコメントになってる。
もしかしてこれ?
これのコメントアウトなんてまえはしなかったのにな。
とりあえずそのファイルを開いてみる。
するとなんとそのなかにAddLanguage設定項目がわんさか。
え、なにこれ(笑
デフォルトが”nl”になってるんですけど。。。
nlってなんだと思いつつ、jaに変更。
そのほかもjaを最優先に設定しなおす。
で再びindexを表示させてみると。
やたー。なおった!
ちゃんと日本語使えるようになってるよー。
で、なんで以前はこんなことしなくても日本語使えたのに今回はこんなことしなきゃいけないの?ってことで原因調査。
すでにApacheが動いてるノートPC側のhttpd.confを見てみる。
案の定http-languages.confはコメントになってる。
と、ここであることに気づく。
ノートPC→Apache2.2.6
今回のPC→Apache2.2.8
えぇ!!バージョン?!
そうなのです。
どうやらApache2.2.8ではhttp-languages.confで日本語をデフォルトにし、httpd.confにincludeさせなきゃいけなくなったようなのです。
いつのまにそんなことに(><)
・まとめ
Apache2.2.8で日本語を使うにはhttp-languages.confを書き換えhttpd.confでコメントアウトし、読み込ませる必要がある。
でも同じようなことで困ってる人がいないのはなぜだ(笑
以下が参考になりそう。