Scientific Linuxのscreenで文字化けした話

会社の開発環境を移行中です。Mac miniVirtualBox 上の CentOS 5.6 が、ディスクが論理的におかしなことになっているらしく、触っていると不規則にホストOSの MacOS X ごとお亡くなりになってくれやがるので、何でもテスト用に用意してるXenServerに新しくVMを作ることにしました。


今回の OS は Scientific Linux 6.0 にしてみてます。ひと通りセットアップが終わったところで、emacs でファイルを編集するとどうも日本語が化けている。lv で見てみてもやはり化けている。screen なのが悪いのかと思い、screen を終了して lv で見ると化けてない。おお、screen お前のせいだったのか。

.screenrc と /etc/screenrc を新旧環境で比べてみても差はないし何だろう、と色々試してようやく原因を発見。


歴史的経緯により、私の .screenrc には

defkanji euc

という記述があります。つまり表示は EUC-JP にしているわけね。ファイルの文字コードは、最近はほとんど UTF-8 で、一部 EUC-JP なものが残ってる。ターミナルの入出力を EUC-JP にするために上記の設定をしていたわけです。あ、ちなみにターミナルソフトは Mac の iTerm で ssh でログインしてる。
ふと思い立って、上記の設定をコメントアウトしてみたら、ちゃんと文字化けせずに表示されるようになりました。詳しい原因は不明。