lpicの勉強をしていて普段ロケールを使うことがないので忘れないようにまとめます。
ローカライゼーション
ローカライゼーション(localization)とは言語や通貨の単位、日付の書式などを国や地域に合わせること。
これを国際化(internationalization)と言う。(i18n)と略される。
主なロケール
カテゴリ
lpicの本でピックアップされているロケールのカテゴリをまとめます。
LC_CTYPE : 文字の種類などの規定
LC_COLLATE : 文字の照合や整列に関する規定
LC_MESSAGES : メッセージ表示に使用する言語
LC_NUMERIC : 数値に書式に関する規定
LC_TIME : 日付や自国の書式に関する規定
環境変数LC_ALL
を使用すると全てのカテゴリでその値が使われる。LANG
が設定されていれば全てのカテゴリでその値が使われるが、個々の設定が可能(デフォルト値のような感じ)。
ロケール名
C, POSIX : 英語
ja_JP.utf8(ja_JP.UTF-8) : 日本語/Unicode
ja_JP.eucJP : 日本語/EUC-JP
ja_JP.shiftJIS : 日本語/シフトJIS
en_US.utf8 : 英語(米)Unicode
localeコマンドを使うと現在のロケールを表示する。
-a
オプションで設定可能なロケールの表示。
-m
で利用できる文字コードの表示。
その他のロケール名。
ロケールの一時的な変更
変数名=ロケール名 コマンド
のように指定する。
例えば一時的に英語にしたい場合。
LANG=C man ls
とするとlsのマニュアルを英語で表示する。
文字コード
これも本にまとめられているもののみ載せます。
ASCII : 7ビットで表される基本的な128種類の文字。
ISO-8859 : ASCIIを拡張した8ビットの文字コードで256種類の文字。
UTF-8 : Unicodeを使用した文字コードで、1文字を1~6バイトで表す。
EUC-JP : UNIX環境で標準的に利用されていた日本語の文字コード。
SHIFT-JIS : Windowsで利用される日本語の文字コード。
ISO-2022-JP : 電子メールなどで使用される日本語の文字コード(JISコード)。
文字コードの変換にはiconv
コマンドを使う。
iconv -f 文字コード -t 文字コード ファイルなど
オプションは、-f
はfrom。-t
はtoなどで覚えられそう。
iconv -l
で扱える文字コードの一覧を表示できる。
ファイルの文字コードが不明な場合、nkf -g ファイル名
で文字コードを確認できる。
間違いがございましたらご指摘ください。