VPSでShift-jisなどのCGIが文字化けする場合にチェックするべきところ

新しくVPSサーバーを借りて、今まで共用レンタルサーバーで動かしていたCGIなども移動して最初に躓くのが、500エラーとか、文字化けしたりとかですね。

500エラーの場合は、CGI実行ファイルの改行コードをLFにして保存してみると直ったりします。
もしくは、 #! /usr/bin/perl が #! /usr/local/bin/perl になっていたりとか、直すと動いたりします。

さて、それで動いたと思ったら盛大に文字化けしていたりする。
だったらUFT-8で保存しなおしてみたらどうなるんだろう?って暴挙にでてやってみたら再び500エラーになってりする。

本当にチェックするべきところは、ここです。
httpd.confの設定。

# vi /etc/httpd/conf/httpd.conf

で設定を開いて以下の箇所を見つけたらコメントアウトしてみてください。

AddDefaultCharset UTF-8

ここで、デフォルトをUTF-8で指定しちゃっているから、盛大に文字化けするわけです。