当我运行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").

我该怎么解决呢?


当前回答

如果您使用Mac OS X v10.10 (Yosemite)或以上版本来连接服务器Linux,您可以尝试这些步骤。

保持/etc/ssh/sshd-config文件原始 输入~/.bash_profile 出口LANG = " en_US " 出口LC_ALL = $朗。utf - 8 运行 dpkg-reconfigure地区 并选择“en_US”。utf - 8”

其他回答

在我的情况下,使用Debian 8.6 (Jessie),我必须更改设置:

/etc/ssh/ssh_config` for `#AcceptEnv LANG LC_*

and

sshd_config为SendEnv LANG LC_*

然后重新启动ssh服务。

最后,我做到了:

locale-gen en_US。UTF-8和dpkg-reconfigure区域设置

如果您在CentOS中运行chroot,请尝试手动将有此问题的帐户的/usr/lib/locale复制到chroot环境。

对于Debian用户,我在修改我的区域设置以更改机器的语言后遇到了这个问题。这就是我所做的:

修改. bashrc: 出口LANG = fr_FR。utf - 8 出口LC_ALL = fr_FR。utf - 8 取消注释行fr_FR。文件etc/locale中的UTF-8。Gen -> sudo locale-gen生成丢失的包 sudo update-locale sudo dpkg-reconfigure locale将我的locale配置为fr_FR。utf - 8 在etc/default/locale文件中添加额外的行: 语言= en_US。utf - 8 LC_ALL = en_US。utf - 8 LANG = en_US。utf - 8 LC_TYPE = en_US。utf - 8 重启我的电脑,一切正常

导出变量

$ export LANGUAGE=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ export LANG=en_US.UTF-8
$ export LC_CTYPE=en_US.UTF-8

下一个运行

$ sudo locale-gen
$ sudo dpkg-reconfigure locales 

当您运行dpkg-reconfigure locale时,它会要求您选择locale,选择en_US。utf - 8。如果通过选择所有区域设置来运行此操作,则需要一些时间来配置。

如果您正在使用反引导创建rootfs,则需要生成区域设置。你可以通过运行:

# (optional) enable missing locales
sudo nano /etc/locale.gen

# then regenerate
sudo locale-gen

这个技巧来自https://help.ubuntu.com/community/Xen