WSL2上にインストールしたUbuntu 20.04で日本語が文字化けした際の対処方法を紹介します。
WSL2のインストール手順は以下をご確認ください。
最新パッケージのインストール
Ubuntu20.04をインストールしたてのため、まずは最新パッケージを適用していきましょう。
sudo apt update
sudo apt upgrade
sudo apt upgrade 実行後、もう一度 sudo apt update を実行し、すべてのパッケージが最新となったことを確認します。
以下のコマンドでも確認可能です。
sudo apt list –upgradable
アップグレード可能なパッケージを表示します。
日本語パッケージのインストール
まず現在のロケール情報を確認していきます。
デフォルトのロケールを表示する
echo $LANG
使用可能なロケールの一覧を表示する
locale -a
日本語環境を利用したい場合はまず、以下のパッケージをインストールします。
sudo apt install language-pack-ja
これで再度 locale -a を実行してみると ja_JP.UTF-8 が表示されます。
デフォルトのロケールを ja_JP.UTF-8に変更します。
sudo update-locale LANG=ja_JP.UTF8
実行後に、 echo $LANG でデフォルトのロケールはまだ変更されていないことがわかります。
exitで一度抜けてから、再度ubuntuに接続してみてください。
デフォルトロケールが ja_JP.UTF8 に変更されます。
日本語が表示されることを確認しましょう。
それでもまだ日本語が文字化けする場合は、、、
上記手順でも日本語の文字化けが解消されない場合は
wslを起動するPowershellまたはコマンドプロンプトのフォントの設定を確認しましょう。
タイトルウィンドウを右クリックし、[プロパティ]をクリックします。
[フォント]タブで指定しているフォントが日本語に対応していないと文字化けが発生します。
「MS ゴシック」など日本語に対応したフォントを選択し、[OK]をクリックします。
文字化けが解消されます。
2022/1/9 追記
Windows11にてWSLをインストールする手順を投稿しました。
従来のインストールと比べてインストール手順が簡素化されています。
また、WSLgによりGUIアプリを簡単に表示されることができるようになりました。
コメント
手元の WSL2 + tmux では
こちらの方法でうまくいかなかったので
~/.bashrc に export LANG=ja_JP.utf8
を追記したら直りました
有益な情報ありがとうございます。
返信遅くなり申し訳ございません。
事象としてはtmuxを使用すると日本語が文字化けしてしまう
という認識でよろしいでしょうか?
Windows環境ですがtmux(3.0a)をインストールして検証してみましたが
こちらでは再現しませんでした。
文字コードがSJIS、utf-8のファイルをSTDOUTしてみたりもしましたが
特に問題はなかったです。(macからだと設定が必要かもですね。)
WSL 2 + fish + tmuxです。
notoフォントインストールしたら表示されるようになりました。
sudo apt install fonts-noto-cjk
その後、
export LANG=en_US
でターミナルの表示を英語に戻せましたね