VirtualBoxなどでLinuxの仮想環境起動時のコンソールで日本語が文字化けする。
サーバに接続しているCUIコンソールで、日本語が化けてしまう場合の対処方法を紹介します。
尚、文字化けするコンソール(端末)で日本語を表示する方法ではなく、日本語表示できない端末の場合は、
英語表記にするスクリプトを.bashrcに追記する手順となります。
$ lsb_release -dr Description: Debian GNU/Linux 10 (buster) Release: 10
VirtualBox上で動作しているDebianのコンソールでdateコマンドを実行したときのキャプチャです。
日本語が文字化けしています。
LANGの値を確認すると ja_JP.UTF-8 となっているため、日本語メッセージを出力しようとして文字化けしています。
そのあと、LANGにCを設定し、実行すると英語出力となるため、当然文字化けしません。
ターミナル名称が設定される $TERM の値でLANGを設定するスクリプトになります。
これを.bashrcの一番最後に追記しました。
case $TERM in linux) LANG=C ;; esac
ちなみにTera TermやCygwinのminttyでssh接続すると、TERMの値は、xtermとなっています。
$ echo $TERM xterm
コンソールのTERMを確認すると、linuxとなっています。
$ echo $TERM linux
これを利用し、TERMがlinuxの時は LANG=C として英語出力になるように設定しました。
以上、コンソールで文字化けするときの対応方法の紹介でした。