RFC4646 と UNIX 環境変数の違い
UNIX 環境変数 LC_***
系に設定する値は RFC3066 というか RFC4646 にほぼ基づいているようですが、微妙に差異があるようです。
- 区切りコード: RFC4646 では %x2D
(ハイフン-マイナス) に対し、環境変数では %x5F
アンダースコア
- RFC4646 には case insensitive とあるが、環境変数では使い分けがされているようだ
そして実際、下記のようなコマンドを入力してもエラーは出ず結果は同じでした。
(cygwin と hpux-11.11 でチェック)
$ LC_ALL=ja_JP.utf8 sort hoge.txt > piyo1.txt
$ LC_ALL=ja-JP.utf8 sort hoge.txt > piyo2.txt
$ LC_ALL=JA-JP.UTF8 sort hoge.txt > piyo3.txt
$ LC_ALL=ja-jp.utf8 sort hoge.txt > piyo4.txt
Q1. この微妙な差の由来をご存知だったら教えてください。
Q2. 環境変数に使う最適記法を教えてください。
Q3. URI に使う場合の最適記法を教えてください。