##現象
・centOS全体で、日本語が文字化けする
(git log
でコミットログの日本語読めないのが辛い)
・ログイン毎にwarningが出る
Welcome to your Vagrant-built virtual machine.
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): そのようなファイルやディレクトリはありません
・locale
コマンドを叩いても警告
[vagrant@localhost ~]$ 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=
##原因
そもそも日本語化しようとして、
/etc/sysconfig/i18n
このファイルに、
LANG="ja_JP.utf8"
を書き加えたのち、警告が出るようになった
LC_CTYPEの設定が足りていない?
##対処法
一時回避はこれでできた
export LC_CTYPE='ja_JP.UTF-8'
しかし再起動すると戻ってしまう。
これを永続的に設定するには、再び下記ファイルを編集する
sudo vim /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8" ←これを追加
SYSFONT="latarcyrheb-sun16"
再起動すれば、もうwarningは出ないはず!
localeを叩いても警告はでません。
[vagrant@localhost ~]$ 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=