PuTTY 経由で Linux にリモートアクセスした場合 vi が文字化けし、PuTTY の文字コードを変換しても直らない

仮想端末(pts)の文字コードが適切でない場合があるので、まずログイン後に LANG 環境変数を確認する。

$ echo $LANG
C

UTF-8 の場合は以下のコマンドを発行する(システムによっては export LANG=... かも)。

$ LANG=ja_JP.UTF-8
$ echo $LANG
ja_JP.UTF-8

こののち、ターミナル側の文字コードPuTTY であれば設定の変更→ウィンドウ→変換→文字コードの設定)も UTF-8 にすることで vi での文字化けを防ぐことができた。

上記設定はログアウトすると無効となるので、必要であれば .bash_profile などに記載しておく。