逆引きUNIXコマンド/現在のロケールを確認する・localeコマンド
の編集
Top
/
逆引きUNIXコマンド
/
現在のロケールを確認する・localeコマンド
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#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)
タイムスタンプを変更しない
#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)
テキスト整形のルールを表示する