WSL2上にインストールしたUbuntu 20.04で日本語が文字化けした際の対処方法を紹介します。
![ubuntu20.04 日本語 文字化け](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-38.png)
WSL2のインストール手順は以下をご確認ください。
最新パッケージのインストール
Ubuntu20.04をインストールしたてのため、まずは最新パッケージを適用していきましょう。
sudo apt update
![sudo apt update](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-41-1024x426.png)
sudo apt upgrade
![sudo apt upgrade](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-42-1024x426.png)
![sudo apt upgrade](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-45-1024x426.png)
sudo apt upgrade 実行後、もう一度 sudo apt update を実行し、すべてのパッケージが最新となったことを確認します。
![sudo apt update](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-43.png)
以下のコマンドでも確認可能です。
sudo apt list –upgradable
アップグレード可能なパッケージを表示します。
![](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-44.png)
日本語パッケージのインストール
まず現在のロケール情報を確認していきます。
デフォルトのロケールを表示する
echo $LANG
使用可能なロケールの一覧を表示する
locale -a
![](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-46-1024x426.png)
日本語環境を利用したい場合はまず、以下のパッケージをインストールします。
sudo apt install language-pack-ja
![sudo apt install language-pack-ja](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-47.png)
![sudo apt install language-pack-ja](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-48.png)
これで再度 locale -a を実行してみると ja_JP.UTF-8 が表示されます。
![locale -a](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-49.png)
デフォルトのロケールを ja_JP.UTF-8に変更します。
sudo update-locale LANG=ja_JP.UTF8
![sudo update-locale LANG=ja_JP.UTF8
デフォルトロケールの変更](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-50.png)
実行後に、 echo $LANG でデフォルトのロケールはまだ変更されていないことがわかります。
![ロケールの確認](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-51.png)
exitで一度抜けてから、再度ubuntuに接続してみてください。
デフォルトロケールが ja_JP.UTF8 に変更されます。
![ubuntu デフォルトロケールを日本語に変更 wsl](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-52.png)
日本語が表示されることを確認しましょう。
![ubuntu 日本語表示 wsl](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-53.png)
それでもまだ日本語が文字化けする場合は、、、
上記手順でも日本語の文字化けが解消されない場合は
wslを起動するPowershellまたはコマンドプロンプトのフォントの設定を確認しましょう。
タイトルウィンドウを右クリックし、[プロパティ]をクリックします。
![PowerShellのフォント設定](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-54.png)
[フォント]タブで指定しているフォントが日本語に対応していないと文字化けが発生します。
![PowerShellのフォント設定](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-55.png)
「MS ゴシック」など日本語に対応したフォントを選択し、[OK]をクリックします。
![PowerShellのフォント設定](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-56.png)
文字化けが解消されます。
![日本語 文字化け 解消](https://www.teamxeppet.com/memorandum/wp-content/uploads/2021/01/image-57.png)
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
でターミナルの表示を英語に戻せましたね