#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS