- 締切済み
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がヘッダーに現れるのでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mahny
- ベストアンサー率74% (57/77)
ブラウザが持っている言語設定のせいなのでしょうか。 # 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はマイナーバージョンが違っているので 外してたらすいません。
- metis
- ベストアンサー率52% (86/165)
Firefoxの設定で、 「表示」->「文字エンコーディング」の中の、「西欧(ISO-8859-1)」に印が付いていませんか? ここに印があると、HTMLのコード如何に関わらず、強引にISO-8859-1で解釈しようとするため、ヘッダにその文が追加されることになります。 「表示」->「文字エンコーディング」->「自動判別」->「日本語」をクリックすれば、直るかと思います。
お礼
Firefoxのそのメニューでは,日本語に自動設定にしています。というか,Firefoxの「表示」→「エンコーディング」の自動設定メニューは,HTTPヘッダーに書かれてある文字コードを見ることで,自動的に文字コードを判別するようです。なので,HTTPヘッダーにISO8859が書かれてあると,Firefoxは「これはISO8859だ」と認識してしまいます。METAヘッダーも効かず。一番強いのがHTTPヘッダーの記述のようです。そのHTTPヘッダーの記述にISO8859と書いている犯人は一体誰なのか・・
ぱっとは出てこなかった けどとりあえず 参考に http://httpd.apache.org/docs/2.2/ja/mod/mod_headers.html
お礼
そのように設定変更してapacheを再起動してみました。が,,ダメでした(涙)