CentOS7の言語設定(ロケール)の確認や、変更方法について。

確認

現在のロケールの設定を確認する場合、以下のコマンドを実行します。

localectl
または
localectl status

実行例

localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us

設定ファイル

CentOS7のロケールを設定しているファイルは、以下になります。

/etc/locale.conf

デフォルトでは、中身は以下になります。

LANG="en_US.UTF-8"

使用可能なロケール一覧

使用可能なロケールの一覧を確認する場合、以下を実行します。

locale -a
C
POSIX
en_AG
en_AG.utf8
 ・・・
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
 ・・・
en_ZW.utf8

localectlコマンドやlocaledefコマンドでも確認できます。 ただし、これらの場合、CやPOSIXの一部除いた一覧になります。

localectl list-locales
または
localedef --list-archive

実行すると、以下のようになります。

localectl list-locales
en_AG
en_AG.utf8
 ・・・
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
 ・・・
en_ZW.utf8

この中にja_JP.utf8が無い場合、localedefコマンドで作成する必要があります。

日本語UTF-8の設定

ロケール一覧を表示して、その中にja-JP.utf8がない場合、 localedefコマンドで作成する必要があります。 存在する場合は、localectlコマンドでローケルを変更します。

ja_JP.UTF-8の作成

localedefコマンドで、以下を実行します。

localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
実行後、localectlで一覧を表示して、追加されていることを確認します。
localectl list-locales | grep ja
ja_JP.utf8

日本語ja_JP.UTF-8の設定

localectl list-localesで表示される一覧にja_JP.UTF-8が含まれる場合、 以下を実行して、ロケールをUTF-8の日本語に設定します。

localectl set-locale LANG=ja_JP.UTF-8
実行すると/etc/locale.confの中身が変わります。上記の実行後は以下になります。
LANG=ja_JP.UTF-8

設定を変更後、以下を実行して現在の環境に反映させる必要があります。

source /etc/locale.conf

他の言語の設定

英語など日本語以外に変更する方法

英語(米)en_US.UTF-8の設定

localectl set-locale LANG=en_US.UTF-8