delta’s diary

プログラミングとか

mac OSのlocaleの話

大抵のmac userはitermなり元々macに入っているターミナルを使ってると思う。

そしてlocaleが自動で設定されるようなオプションも大概の人はオンになってると思う。

f:id:deltama:20190523230323p:plain
iterm2の設定画面

ある案件でmacタイムゾーンを変えたくなって色々いじった時にmacがおかしくなってることに気づいた。

別のマシンにsshすると-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directoryの文字が。

どうやらlocaleの返り値がいつの間にか別のものになってたみたいだった。

$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

色々調べたら言語と地域の地域をアメリカ合衆国にしてるせいだった。。

f:id:deltama:20190523232154p:plain
言語と地域

日本に戻したら

$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=

ちゃんと戻った。sshも問題なし。