Akata Works

東京エンジニア。主にRuby,Go,たまにAWSとiOS。ゲーム音楽が好きです。連絡はTwitterかakata.onen@gmail.comまで

perl: warning: Setting locale failed.

MacからSSHCentOSに接続してPerlを実行すると以下のエラーが出た。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "ja_JP.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

現在のロケールの設定の中にインストールされていないロケールがあることが原因らしい。
現在のロケールの設定はlocaleコマンドで確認できるので確認するといい。

インストールされていなければついでにインストールしてしまおう。

localedef -f UTF-8 -i ja_JP ja_JP.UTF-8

根本的なことをいうと、単純にMacの設定を引き継いでいるからってこともある。
"/etc/ssh_config"ファイルから以下の行をコメントアウトするといい。

 Host *
   SendEnv LANG LC_*

ロケールの問題なので他のコマンドでも発生するかも・・

参考URL

centos に gitolite 導入, あとロケール問題 - Please Sleep

IBM Knowledge Center