美文网首页
perl: warning: Setting locale fa

perl: warning: Setting locale fa

作者: 大侠救命 | 来源:发表于2018-07-10 23:40 被阅读0次

安装软件时,都会去执行update-locale命令,用来更新 locale。这个命令是 perl 脚本(可以用whereis update-locale查到)

上述警告并不是因为 update-locale 命令错了,而是因为 perl 的配置出了问题。

可以使用以下命令只运行 perl 测试:

$ perl -e exit

perl 使用系统提供的默认 localezh_CN.UTF-8,但这个值是 ssh 从客户端传递来的,系统其实不知道zh_CN.UTF-8该如何处理

我们安装语言包即可解决问题:

$ apt-get install language-pack-zh-hans

安装一个中文语言,系统就知道zh_CN.UTF-8了,这个时候用perl就不会报错了

深入了解

这种情况一般是vps比较常见,因为一般都是用ssh的方式连接到vps上的

sshd有这个机制,会把客户机上的语言环境带到远程的机器上

客户机一般都会设置zh_CN.UTF-8语言,用来显示中文,而远端的vps一般就只有en_US.UTF-8zh_CN.UTF-8一旦带过去就会报找不到的错误,

不靠谱的解决方法

网上还有些解决方法,并不是很靠谱,虽然从表面来看像解决问题了,但其实是把问题影藏了

比如在远程主机上的/etc/ssh/sshd_config文件里,将AcceptEnv LANG LC_*这行注释掉然后重启远程的sshd,然后退出远程后,重新ssh上来。

这时,远程主机不会把客户机的语言环境(zh_CN.UTF-8)带过来

当然就不会再有报错,可惜的是,远程主机是无法正确显示中文的,问题还在,只是被隐藏了。

相关文章

网友评论

      本文标题:perl: warning: Setting locale fa

      本文链接:https://www.haomeiwen.com/subject/bwuqpftx.html