2017年6月5日月曜日

Linux ロケールの確認

ロケールを確認してみる

現在のロケールの確認

localeとは、LinuxOSの言語にかかわる設定のことです。
localeコマンドで確かめてみます。このコマンドは現在のロケールを調べるコマンド。rootではなく、対象となる作業用ユーザで大丈夫です。 ルートでなくてもOKです。
$ locale
の環境では以下のように表示されました。
LANG=ja_JP.eucJP
LC_CTYPE="ja_JP.eucJP"
LC_NUMERIC="ja_JP.eucJP"
LC_TIME="ja_JP.eucJP"
LC_COLLATE="ja_JP.eucJP"
LC_MONETARY="ja_JP.eucJP"
LC_MESSAGES="ja_JP.eucJP"
LC_PAPER="ja_JP.eucJP"
LC_NAME="ja_JP.eucJP"
LC_ADDRESS="ja_JP.eucJP"
LC_TELEPHONE="ja_JP.eucJP"
LC_MEASUREMENT="ja_JP.eucJP"
LC_IDENTIFICATION="ja_JP.eucJP"
LC_ALL=

これだと、コマンドの実行結果が文字化けしてしまいます。

/etc/sysconfig/i18n を LANG="en_US" にすれば
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
上記となり、コマンド結果がすべて英字表記になって文字化けはしません。

利用可能なロケールの確認

利用可能なロケールを確認するには-aオプションをつけて実行
$ locale -a
@MINOの環境では以下のように表示されました。
C
C.UTF-8
POSIX
ja_JP.utf8
Cという怪しいロケールがあるが、LANG=CのCはこのことです。
最近のLinuxは、UTF-8ですね。
LANG=ja_JP.UTF-8LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC=ja_JP.utf8
LC_TIME=ja_JP.utf8
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY=ja_JP.utf8
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER=ja_JP.utf8
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT=ja_JP.utf8
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。