LoginSignup
3
2

More than 1 year has passed since last update.

Ubuntuのtofuを日本語環境に直す

Last updated at Posted at 2020-02-26

はじめに

日本語が文字化けして、四角に表示される(俗に言う、Tofu 豆腐 )であったため、日本語表示の環境を設定する。

環境

Ubuntu 16.04.5 LTS
Windows10
Vagrant

手順

環境変数を確認すると、英語環境であるため、環境変数を日本語に変更する

echo $LANG
en_US.UTF-8

2つの日本語パッケージ(language-pack-ja-baselanguage-pack-ja)をaptでインストールする

sudo apt install language-pack-ja-base language-pack-ja

ホームに移動して、.bashrcの一番下に下記を追加する

case $TERM in
    linux) LANG=C ;;
    *)     LANG=ja_JP.UTF-8;;
esac

解説
$TERMの環境変数には、ターミナルの種類がセットされる。因みに、自分の環境では、xterm-256colorがセットされている。ターミナルの種類がlinuxの場合は、ローカライゼーションをCにして、それ以外の場合は、日本語にしている。ターミナルの種類がlinuxというのは、クライアントからターミナルでSSH接続して使うのではなく、サーバーを直接触る場合になる。この場合、日本語にすると逆に文字化けを起こすようなので、英語環境にするために、Cをセットしている。サーバーを直接触る事はないよという場合であれば、LANG=ja_JP.UTF8の1行のみでもOK

.bashrcを実行して反映させる

source .bashrc

日本語パッケージをインストールすると、/var/lib/locales/supported.dに、jaというファイルが追加されるので中身を確認する。

cat /var/lib/locales/supported.d/ja
ja_JP.UTF-8 UTF-8

インストール済のロケールの一覧を表示して、ja_JP.utf8が表示される事を確認する

locale -a | grep ja

デフォルトのロケールを確認すると英語になっています

cat /etc/default/locale

#  File generated by update-locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:"

デフォルトのロケールを、日本語に変更する。エラー?と思われるメッセージが表示されるが、ちゃんと更新されています。

sudo update-locale LANG=ja_JP.UTF-8
*** update-locale: Warning: LANGUAGE ("en_US:") is not compatible with LANG (ja_JP.UTF-8). Disabling it.

変更された事を確認する。日本語が追加されて、英語はコメントされました

cat /etc/default/locale

#  File generated by update-locale
LANG=ja_JP.UTF-8
#LANGUAGE="en_US:"

vagrant環境である場合、Windows側(PowerShell側)の文字コード環境が原因である事もある。上記でも問題が解決しない場合は、↓
https://qiita.com/FmtWeisszwerg/items/ccd34acfb2e88c2fb35f

追加情報

↑にある、PowerShell側で、chcp 65001をしても解決しない場合、PowerShellのプロパティで、フォントをMSゴシックに変更すると、PowerShellで表示される日本語のtofuを正しく表示されるようになった。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2