問題
Mac で iTerm2 の端末から外部のサーバに ssh 接続して操作していたら、文字化けしていた。
ほげ
↑これが
�~A��~A~R
↑こんな感じに。
解決策
これで解決した。
ssh した先で、
$ unset LC_CTYPE
場合によっては .bashrc に書くと良いでしょう。
原因と解決への道のり
ssh 接続後に、自分とは違うユーザに sudo su - xxx
で変更してみると、そのユーザでは文字化けは起きなかった。
環境変数に違いがあるのかな?と思い見てみると、文字化け環境のみ、LC_CTYPE というものが設定されていた。
$ env
...
LC_CTYPE=UTF-8
...
これが怪しそう。
とここで、そういえば!と思い出したのだが、ssh 接続するときに以下の warning が出ていた。
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
ということでこのエラー文で検索したら↓の記事に出会った。
https://k-sasaki.net/2017/02/8/
これで解決できる!と思ったのだが、ssh する前の自分の環境を汚したくなかった。
ので、解決策のとおり LC_CTYPE の設定を無くしてみたら、文字化けがなくなった。
LC_CTYPE が何を意味するのか等は調べて切れていないが、とりあえず文字化けは解消されたのでよしとした。。