我遇到区域设置问题,但找不到任何有效的解决方案!
每个教程都与此类似:Perl 警告 在 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.
我该如何解决?
答案1
Debian 通过以不可直接使用的形式传送语言环境定义来节省网络带宽,其中语言环境之间共享的信息(例如en_US
和en_CA
非常相似)存储在单个文件中。必须在每台计算机上生成可用的区域设置定义。为了节省 CPU 时间和磁盘空间,仅生成系统管理员请求的区域设置。
以 root 身份运行以下命令来配置要生成的区域设置集:
dpkg-reconfigure locales
或者,编辑该文件/etc/locale.gen
并注释掉与所需区域设置相对应的行(以 开头的行#
是注释行)。例如,如果您想要en_GB.UTF-8
区域设置,则需要包含一行
en_GB.UTF-8 UTF-8
编辑后/etc/locale.gen
,运行locale-gen
以重新生成区域设置定义。
UTF-8
您设置的值LC_CTYPE
无效。您需要使用有效的区域设置名称,例如LC_CTYPE=en_GB.UTF-8
。您可以LC_CTYPE
不设置:它将默认为 的值LANG
。尽管我比较推荐保持未设置并LANG
设置(实际上默认为英语,如果您使用其他语言,那么您也应该设置它)。LC_CTYPE=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_MESSAGES
答案2
如果您没有明确设置LC_CTYPE
,请输入:
export LC_CTYPE="en_US.UTF-8"
(将en_US
, 替换为您所需的 LANG/CTYPE 所需的定义)
虽然很冗长,但输入:
locale LC_CTYPE
将提供当前设置值。
答案3
我在 raspbian 的原始副本上遇到了同样的问题。
export LC_ALL="en_US.UTF-8"
sudo dpkg-reconfigure locales