CentOS(5.x)では、CentOSで初期起動時にLANGを設定のように設定して問題なかったのですが、SUZ-LAB謹製 CentOS AMI (6.0.3 32bit ap-northeast-1)のようなCentOS(6.0)ではうまくいきませんでした。
はじめに、利用できるロケールを確認します。
# locale -a | grep ja_JP ja_JP ja_JP.eucjp ja_JP.ujis ja_JP.utf8
そして、下記のようにLANGがja_JP.utf8になるように設定します。
# cat /etc/sysconfig/i18n LANG="ja_JP.utf8"
再起動後、下記のようにロケールの状態を確認すると、警告メッセージが出ていました。
# locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: LC_ALL?????????????????????: ?????????????????????? LANG=ja_JP.utf8 LC_CTYPE=UTF-8 LC_NUMERIC="ja_JP.utf8" LC_TIME="ja_JP.utf8" LC_COLLATE="ja_JP.utf8" LC_MONETARY="ja_JP.utf8" LC_MESSAGES="ja_JP.utf8" LC_PAPER="ja_JP.utf8" LC_NAME="ja_JP.utf8" LC_ADDRESS="ja_JP.utf8" LC_TELEPHONE="ja_JP.utf8" LC_MEASUREMENT="ja_JP.utf8" LC_IDENTIFICATION="ja_JP.utf8" LC_ALL=
解決策としては、LC_CTYPEもja_JP.utf8になるように設定すると、再起動後、下記のように警告メッセージがなくなります。
# cat /etc/sysconfig/i18n LANG="ja_JP.utf8" LC_CTYPE="ja_JP.utf8"
# locale LANG=ja_JP.utf8 LC_CTYPE=ja_JP.utf8 LC_NUMERIC="ja_JP.utf8" LC_TIME="ja_JP.utf8" LC_COLLATE="ja_JP.utf8" LC_MONETARY="ja_JP.utf8" LC_MESSAGES="ja_JP.utf8" LC_PAPER="ja_JP.utf8" LC_NAME="ja_JP.utf8" LC_ADDRESS="ja_JP.utf8" LC_TELEPHONE="ja_JP.utf8" LC_MEASUREMENT="ja_JP.utf8" LC_IDENTIFICATION="ja_JP.utf8" LC_ALL=