#navi(../)
* 現在のロケールを確認する [#g8bfc07a]
localeコマンドコマンドにより、設定されているLC_xxxの値を確認することができます。~
以下、localeコマンドを使った操作例を記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* localeコマンドを使ってみる [#m09e2d53]
以下の実行出力は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 オプション [#a58d333a]
システムがサポートしているロケール一覧を表示します。
$ 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 オプション [#eb64c23d]
文字マッピング一覧を表示します。
$ 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各項目の説明 [#h7105404]
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.
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)