当我运行perl时,我得到警告:

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

我该怎么解决呢?


当前回答

对于任何从iTerm2连接到DigitalOcean或其他云托管提供商的人。在macOS v10.13 (High Sierra)上运行app,在一些命令上得到这个错误:

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

这为我解决了问题:

其他回答

添加LC_ALL = " en_GB。Utf8”到/etc/environment并重新启动。这是所有。

这通常意味着您还没有正确地在Linux机器上设置区域设置。

在Debian或Ubuntu上,这意味着你需要去做

$ sudo locale-gen
$ sudo dpkg-reconfigure locales

另参见man locale-gen。

另一个与git相关的答案:

问题的根源可能是Git服务器。如果所有这些都失败了,请尝试在服务器上执行dpkg-reconfigure区域设置(或适合您的发行版的任何设置)。

我在/etc/locale.conf上设置了LC_COLLATE=C。我简单地删除了这一行,因此只有LANG=en_US。设置了UTF-8(或等效的UTF-8),就不会再有问题了。

ssh默认覆盖LC区域变量。看到/etc/ssh/sshd_config:

AcceptEnv LANG LC_*

也许你需要在本地shell中设置这些变量。