我的语言环境有问题,我找不到任何有效的解决方案!
每个教程都与此类似:Perl 警告 Setting locale failed in Debian。
这是语言环境的问题:
pi @ server [~]:
$ > sudo deluser --remove-home cm22
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Looking for files to backup/remove ...
Removing user `cm22' ...
Warning: group `cm22' has no more members.
Done.
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
的Debian通过在形式,是不直接使用,其中,其语言环境之间共享(例如信息航运区域设置定义节省了网络带宽en_US和en_CA非常相似)被存储在一个文件中。必须在每台机器上生成可用的语言环境定义。为了节省 CPU 时间和磁盘空间,仅生成系统管理员请求的区域设置。
以 root 身份运行以下命令以配置要生成的语言环境集:
dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
或者,编辑文件/etc/locale.gen并注释掉与所需语言环境相对应的行(以 开头的#行是注释行)。例如,如果你想要en_GB.UTF-8语言环境,你需要有一行包含
en_GB.UTF-8 UTF-8
Run Code Online (Sandbox Code Playgroud)
编辑后/etc/locale.gen,运行locale-gen以重新生成区域设置定义。
值UTF-8,你已经为设置LC_CTYPE是无效的。您需要使用有效的语言环境名称,例如LC_CTYPE=en_GB.UTF-8. 您可以不LC_CTYPE设置:它会默认为 的值LANG。虽然我更建议保留LANGunset 和 set LC_CTYPE=en_GB.UTF-8and LC_TIME=en_GB.UTF-8(LC_MESSAGES实际上默认为英语,如果您使用另一种语言,那么您也应该设置它)。