SSH接続時に日本語などが文字化けする場合は、環境変数の設定を見直します
動作確認環境
SSHサーバ環境
macOS Sonoma 14.4.1
Ubuntu 22.04, 24.04
SSHクライアント環境
Shelly 1.4.1 (iPad)
macOSやLinuxがホストになっているサーバにSSHで接続した際に、日本語などは ? と表示される場合があります
自分のmac miniに接続したところ、文字化けしてました...
これは LANG 環境変数が設定されていないことが原因で発生している可能性があります
$ echo $LANG$ ls??????-??????!.txt
SSH環境ではなく日本語が正しく表示されるホスト環境のシェルが開ける場合は、以下のように中身を確認してください
echo $LANG私の環境の場合は ja_JP.UTF-8 と表示されました
もし、SSH等の文字化け環境しか利用できない場合は、試しにこれを環境変数に設定すると解消する可能性があります
ja_JP.UTF-8次に、日本語が文字化けする環境において、さきほど表示された LANG 環境変数を設定します
export LANG=ja_JP.UTF-8$ ls日本語-見える!.txt
これで文字化けが解消されました 🎉
この方法だと、毎回SSHでログインするたびに LANG 環境変数を設定する必要があります
事前にコマンド実行できるSSHクライアントの場合は、以下のように設定すると最初から文字化けを解消できます 🎉
export LANG='ja_JP.UTF-8'; exec $SHELL -lおわりに
今日、気圧の影響なのかめちゃくちゃ頭痛かった... 😔
これでも文字化けが解消できない場合は、そもそも日本語に対応しているかなどの設定を見直してください 🐶