• 締切済み

HTTPヘッダーがどうしてもISO-8859になる

Apache2.2.4(ソースからインストール)を使っています。 以下の問題は,IEなら問題ありません。すべてFirefoxで見る場合のみです。 HTTPヘッダーに 「Content-Type: text/html; charset=ISO-8859-1」が 入ってしまい,metaヘッダーにどんなcharsetを指定しても FirefoxがISO-8859と解釈して,文字化けを起こします。 httpd.confには, AddDefaultCharset ISO-8859の行はありません。 しかし, AddDefaultCharset UTF-8や AddDefaultCharset none と指定しても,ヘッダーにcharset=ISO-8859-1が表示されることには 変わりなく,問題解決しません。 .htaccessファイルは一切使っていません。 この問題はCGIに関係なく,任意のファイルで発生します。 一体,なぜISO-8859がヘッダーに現れるのでしょうか。

みんなの回答

  • mahny
  • ベストアンサー率74% (57/77)
回答No.3

ブラウザが持っている言語設定のせいなのでしょうか。 # http.conf内 LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW これの ja を先頭に持ってくると良いとか。 参考URLはマイナーバージョンが違っているので 外してたらすいません。

参考URL:
http://yaguma.com/Server/red8apache.html
ganwan2007
質問者

お礼

そのように設定変更してapacheを再起動してみました。が,,ダメでした(涙)

  • metis
  • ベストアンサー率52% (86/165)
回答No.2

Firefoxの設定で、 「表示」->「文字エンコーディング」の中の、「西欧(ISO-8859-1)」に印が付いていませんか? ここに印があると、HTMLのコード如何に関わらず、強引にISO-8859-1で解釈しようとするため、ヘッダにその文が追加されることになります。 「表示」->「文字エンコーディング」->「自動判別」->「日本語」をクリックすれば、直るかと思います。

ganwan2007
質問者

お礼

Firefoxのそのメニューでは,日本語に自動設定にしています。というか,Firefoxの「表示」→「エンコーディング」の自動設定メニューは,HTTPヘッダーに書かれてある文字コードを見ることで,自動的に文字コードを判別するようです。なので,HTTPヘッダーにISO8859が書かれてあると,Firefoxは「これはISO8859だ」と認識してしまいます。METAヘッダーも効かず。一番強いのがHTTPヘッダーの記述のようです。そのHTTPヘッダーの記述にISO8859と書いている犯人は一体誰なのか・・

noname#39970
noname#39970
回答No.1

ぱっとは出てこなかった けどとりあえず 参考に http://httpd.apache.org/docs/2.2/ja/mod/mod_headers.html

専門家に質問してみよう