2014年6月27日金曜日

Apacheの設定後、最後だけ文字化けしたとき対処したこと

Apacheの設定終了後に「http://サーバのIPアドレス/」にアクセスしたときに下図の様な文字化けが最後に出た。
このときに確認して対処したこと。
これを解決しないとphpMyAdminやphpPgAdminで「display:none」になってしまい、ページが表示されない。

AddDefaultCharsetの設定

文字化けで検索するとDefaultCharsetを「サーバのディフォルト」にすると解決するなど記載があったので試してみた。
ただし、解決はしなかった。

httpd.confに下記を追加

AddDefaultCharset UTF-8

#vi /usr/local/etc/apache22/httpd.conf⏎ ←httpd.confをvimで開く
↓以下の情報を半角英数で設定する
AddDefaultCharset UTF-8 ←保存して閉じる
#/usr/local/etc/rc.d/apache22 restart⏎ ←Apacheの再起動

AddDefaultCharset UTF-8はディテクティブ外に記載した。

mod_deflateの無効化

下記のサイトを参考にして「gzip圧縮」が有効になっていないか確認したところバイナリエディタでも下図の通り、「1f 8b 08 00」が表示されていてmod_deflateが原因ようようだったので無効にした。
(一般公開していないテスト用のサーバのためあえて圧縮は不要のため)
最終的にこの方法で解決した。

zipファイルの gzip圧縮にはまる。

httpd.confに下記をコメントアウト

LoadModule deflate_module libexec/apache22/mod_deflate.so

#vi /usr/local/etc/apache22/httpd.conf⏎ ←httpd.confをvimで開く
↓以下コメントアウトにする
#LoadModule deflate_module libexec/apache22/mod_deflate.so ←保存して閉じる
#/usr/local/etc/rc.d/apache22 restart⏎ ←Apacheの再起動

mod_deflateの設定は下記が参考になる。
時間があるときに細かく設定したい。
YSlow対策でmod_deflateを利用してHTTPレスポンスをgzip圧縮

2 件のコメント :

  1. 2年ほど前から、MAC mini Serverから、FreeBSDサーバに移ったのですが、同様の問題にあたり、なかなか解決できず、あきらめておりました。たまたま、本サイトを拝見し、解決をすることができました。ありがとうございます!

    返信削除
    返信
    1. お役に立ててよかったです。
      公開した甲斐がありました。

      削除

ご質問などあればこちらへどうぞ