ちょっぴりハマったので…。

古いEUC-JP や Shift JIS のサイトを新しいサーバに移行したら文字化けしたということありませんか?私はあります。てか、今朝そうなりました。

最初は、「はいはい、DefaultCharSet ね。」とさくさくっと /etc/apache2/sites-available/ 配下のファイルを弄ったのに反映されない!Chromeのデベロッパー・ツールで見てみても、UTF-8のまま来ている。

「なんでだ???」

ひとしきり悩んでしまいました。

実は、そのサイトがPHPを使っていたのが原因です。PHPはphp.iniで指定されたcharsetでApacheの設定など override してしまうのですね。ですので、Apacheの当該バーチャルホストの設定ファイルに以下のように書いてPHPに司令を出すと解決します。

php_value default_charset EUC-JP

なるほど、という感じでした。というわけで、またはまらないようにここにメモとして残します。