区域设置问题:“设置区域设置失败。”

区域设置问题:“设置区域设置失败。”

我遇到区域设置问题,但找不到任何有效的解决方案!

每个教程都与此类似: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_USen_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-8LC_TIME=en_GB.UTF-8LC_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

相关内容