Mac のターミナル (Terminal.app) から Debian GNU/Linux に telnet で接続して、コマンドラインや vim や emacs で日本語を入力しようとすると文字化けしてしまう。
「あいうえお」と入力したら、
「c^Bcc^Fc」なんて変わってしまった。
入力のタイミングなのか「cc^Bcc^Fc^Bcc^Bcc^Fccc^Bcc^Fc^Fcc^Bcc^Fcc^Bcc^Fc」とか長いのに変わってしまうことも。
文字化けというか非ASCII文字がエスケープされてしまうというか。
Linux 側のロケールを見てみたが問題なさそう。
$ locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
ちなみに、Windows + TeraTerm や MacBook Air + Mac OS X + ssh で接続した場合は文字化けしない。。。
ということは telnet に問題があるということに。
telnet のヘルプを見てみると、それらしいのが見つかった。「-8」というオプションがある。
8 ビット動作を行う。 入力・出力の両方で、 TELNET BINARY オプションを用いるようにネゴシエーションを行う。 デフォルトの telnet は 8 ビットクリーンではない。
Man page of TELNET
例えば、ユーザー alice が thron サーバにログインするときにはこんな感じのコマンドで OK だった。
$ telnet -8 -l alice thorn
これで日本語入力しても文字化けしなくなった\(^o^)/
-
ref.
- MacBook Air ターミナルからtelnetした先で日本語入力したら文字化けしちゃう問題が解決したのでメモっとく - Solr, Python, MacBook Air in Kameido
- Terminalで日本語入力 (独白)
# そういえば、当初は vim で日本語を入力したら、文字化けどころか何も書き込めなかった。
# ~/.vimrc に設定を追加したら文字化け的なものが入るようになったのだった。
# vim よくわからぬ
tags: linux mac
Posted by NI-Lab. (@nilab)