このエントリーをはてなブックマークに追加


現在のロケールを確認する

localeコマンドコマンドにより、設定されているLC_xxxの値を確認することができます。
以下、localeコマンドを使った操作例を記します。


localeコマンドを使ってみる

以下の実行出力はCentOSで実行したものです。
ja_JP.UTF-8が設定されているのが確認できます。

$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

locale -a オプション

システムがサポートしているロケール一覧を表示します。

$ locale -a
C
POSIX
aa_DJ
aa_DJ.iso88591
aa_DJ.utf8
<snip>
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc
<snip>
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8

locale -m オプション

文字マッピング一覧を表示します。

$ locale -m
ANSI_X3.110-1983
ANSI_X3.4-1968
ARMSCII-8
ASMO_449
<snip>
EUC-JISX0213
EUC-JP
EUC-JP-MS
EUC-KR
EUC-TW
<snip>
JIS_C6220-1969-JP
JIS_C6220-1969-RO
JIS_C6229-1984-A
JIS_C6229-1984-B
JIS_C6229-1984-B-ADD
<snip>
UTF-8
VIDEOTEX-SUPPL
VISCII
WIN-SAMI-2
WINDOWS-31J

LC_xxx各項目の説明

man locale では、localeコマンドのマニュアルを確認することができます。
まずは、locale.hを確認してみることにします。

man 7 locale

以下、man 7 localeをしたときの出力を抜粋してあります。

$ man 7 locale
<snip>
      LC_COLLATE
             こ れは地域的なアルファベット文字列の比較に使用する strcoll() 関数と strxfrm() 関数の動作を変更する。例えばドイツ語のエスツェ
             ット (鋭い s) は、ソートの際 "ss" として扱われる。

      LC_CTYPE
             これは isupper() や toupper() のような文字の判定・操作をする関数や、多バイト文字を扱う mblen() や wctomb() のような関数の動作
             を変更する。

      LC_MONETARY
             localeconv() によって返される情報を変更する。これには小数点や区切りコンマの位置など、数字の表示方法に関する詳細が含まれている
             。この情報は strfmon() 関数が内部で使用する。

      LC_MESSAGES
             メッセージ表示に使用する言語を変更する。また肯定的・否定的な回答をどのように表示するかを変更する。これらの情報を簡単に使用 す
             る ために、 GNU C ライブラリには gettext(), ngettext(), rpmatch() 関数が含まれている。 GNU gettext ファミリーに属する関数は、
             環境変数 LANGUAGE にも従う。

      LC_NUMERIC
             printf() 関数および scanf() 関数のファミリーでロケール設定を使うよう指示された場合に用いる情報を変更する。この情報は  locale-
             conv() 関数で取得することもできる。

      LC_TIME
             strftime()  関数の動作を変更し、地域で利用されている方法で現在時刻を表示する。例えば、ヨーロッパの多くでは 24時間式の時計を使
             うが、アメリカでは 12時間式の時計を使う。

      LC_ALL 上記の全て。
<snip>

つぎにlocaleコマンドを確認してみます。

$ man locale
<snip>
ENVIRONMENT VARIABLES
      LC_CTYPE
              Character classification and case conversion.

      LC_COLLATE
              Collation order.

      LC_TIME
              Date and time formats.

      LC_NUMERIC
              Non-monetary numeric formats.

      LC_MONETARY
              Monetary formats.

      LC_MESSAGES
              Formats of informative and diagnostic messages and interactive responses.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:14