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=

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら