2006年11月13日月曜日

etchでapache2文字化け


apacheからapache2にすると、デフォルトのCharsetがISO-8859-1になって文字化けを起こすのは、良く知られている。



あちこちで書かれている対策は、/etc/apache2/apache2.confの中を


#AddDefaultCharset ISO-8859-1

とコメントアウトすることで各ページで

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

などと指定している文字セットになる...というものである。



当然、上記のような設定にしていたのだが、つい先ほどapt-get install apache2でapache2をupgradeしたら今回また化けた。




そこで、apache2.confで明示的に

AddDefaultCharset      off

と書いてみた。

すると、文字化け解消。



うーん、defaultの動作が変わったのかなぁと思って/usr/share/doc/apache2/changelog.Debian.gzを見てみると、以下の記述が。


apache2 (2.2.3-1) unstable; urgency=low



* Remove mention of AddDefaultCharset from apache2.conf as this is now

in /etc/apache2/conf.d/charset.

なんですと~?



/etc/apache2/conf.d/charsetを見てみると

AddDefaultCharset UTF-8

とぬけぬけと書いてある(^^;



これを


#AddDefaultCharset UTF-8
AddDefaultCharset off

に修正して一件落着。

��apache2.confの中のAddDefaultCharsetの設定は、もとに戻した。



設定ファイルの場所を変えてもいいけど、決め打ちするのは勘弁。


3 件のコメント:

  1. ふはは!さっすがデビアン?!
    あらゆる UTF-8 で統一するおつもりか...

    返信削除
  2. おお、わたしもこれでハマってここに流れつきましたw
    でも、force-reload してもあいかわらずUTF-8で送ってくるのは何故だ...

    返信削除
  3. はじめまして。
    私もハマってしまいました^^;
    解決です!ありがとうございました。

    返信削除