GNU Screenにて画面ごとにエンコーディングを変える
私の場合、コンソール作業する場合GNU Screenをまっさきに立ち上げてコンソール文字列はすべてUTF-8でやりとりしてます。でも古いサーバーとかで作業する場合、とあるプログラムがEUCでしか文字出力してくれないといかいう状況があったりします。そのための解決方法。
※いや、こんな事象滅多にないんですけどね。例えばMySQLでBLOBに文字列入れたりとかしない限りは。
Screenを立ち上げ、変更したい画面を開いた状態で、 C-a : とタイプして、(C-aはエスケープキー。C-zとかC-tにしてる人が多いと思います) encoding euc-jp
ってやる。
デフォルトの挙動を変更したい場合は
defencoding euc-jp
とかやるといい感じ。
私の場合だいたいウィンドウを10枚開いておいて、
- 0 : ルートコンソール (topとかvmstatとかする時とrootで作業するときに使う)
- 1 : メインコンソール (普段のlsとかmvとか)
- 2,3 : VIM作業用
- 4 : 他サーバー接続用
- 5 : Apache Logのtail
- 6 : syslogのtail
- 7 : MySQLコンソール
- 8 : ヘルプ、リファレンス、man用
- 9 : その他
ってな感じで分けてます。
結構7番のウィンドウがやんちゃなんですよねー。