Teratermから日本語が入力できない
TeraTermでのトラブルについてです。
この記事はQiitaにも転載しています。
問題の概要
WSLを操作する際にTeraTermを使っていたのですが、ある時期から日本語がEmacs上で表示されないことに気付きました。
Windows標準のShellでは表示されているのにおかしい。 最終的にいくつかの問題を発見しました。
- Windows標準Shellでは、日本語周りの問題なし
- catすると、どちらもちゃんと日本語が表示される
- Emacsだと、TeraTermだけ日本語出てこない
- コマンドライン上でも、TeraTermでだけ日本語が入力できない
原因
LC_***
という環境変数がダメだったようです。
$ locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE=C
LC_NUMERIC=C
LC_TIME=C
LC_COLLATE=C
LC_MONETARY=C
LC_MESSAGES=C
LC_PAPER=C
LC_NAME=C
LC_ADDRESS=C
LC_TELEPHONE=C
LC_MEASUREMENT=C
LC_IDENTIFICATION=C
LC_ALL=
$ 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=
解決
以下のコマンドを入力すると解決しました。.bashrc
にでも書いておくと良いでしょう。
$ export LC_ALL=ja_JP.UTF-8
LC_系の環境変数ってシェル側から自動設定されたりするのかな・・・?