如何修复语言环境错误


11

我只是使用重新安装了ubuntu debootstrap。当我这样做时sudo aptitude upgrade,我收到此错误消息:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

有人可以告诉我如何解决此问题吗?我在网上看到很多与此类似的帖子,但似乎都无法解决问题。

我正在使用Ubuntu 14.04 LTS。谢谢。


仅供参考:

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=

1
这已经在这里得到了回答askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue摘要:在/ etc / default / locale上定义LC_ALL
h7r 2014年

Answers:


6

debootstrap不创建一个语言环境。因此,我们将其他内容用作语言环境。使用此命令:

sudo locale-gen en_US.ISO-8859-1

我希望这有帮助!


不,aptitude也是有效的。您的答案将不会对OP做出任何更改。
Danatela 2014年

2
尽管这可以解决语言环境错误,但是它为您提供了具有latin1编码的系统,不适用于Ubuntu。
2014年

此外,在中~/.kde.env/setlocale.sh,您还设置了export LANG=en_US.UTF-8
user1527227 2014年

11

应使用UTF-8编码设置Ubuntu桌面。由于某些原因,您的系统尝试设置latin1语言环境en_US.ISO-8859-1。您应该真的改变它。

设置可能在中进行/etc/default/locale

无论发生什么情况,都将其更改为

LANG=en_US.UTF-8

否则您会遇到各种与语言环境相关的惊喜。


您确定那是要使用的那个吗?你怎么知道的?
user1527227 2014年

@ user1527227:差不多了。;)因为AFAIK en_US.UTF-8是在每个Ubuntu桌面上预先生成的。但是您可以通过运行locale -a命令轻松地对其进行检查。如果您编辑了问题并添加了该命令的输出,那就太好了。
Gunnar Hjalmarsson 2014年

我添加了您要求的信息。
user1527227

1
@ user1527227:好的,我们可以en_US.utf8locale -a输出中看到。我的建议从改变en_US.ISO-8859-1en_US.UTF-8立场。
2014年

谢谢。你知道该怎么做吗?我没看到/etc/default/locale。我可以跑步sudo locale-gen en_US.utf8吗?
user1527227 2014年

8

区域设置问题的永久解决方案是通过在.bash_profile文件中导出区域设置变量。您也可以使用/etc/profilefile代替.bash_profile

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

不要忘记了source.bash_profile并在轻松设置中遵循脚本

这是修复语言环境问题的脚本




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.