如何修复语言环境错误

如何修复语言环境错误

我刚刚使用 重新安装了 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

Ubuntu 桌面应使用 UTF-8 编码。出于某种原因,您的系统尝试设置 latin1 区域设置 en_US.ISO-8859-1。您确实应该更改它。

也许故事发生在/etc/default/locale

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

LANG=en_US.UTF-8

否则您将会遇到各种与地点相关的惊喜。

答案2

解决语言环境问题的永久方法是导出 中的语言环境变量~/.bash_profile。您还可以使用/etc/profile文件而不是.bash_profile让更改对系统上的所有用户生效。

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

不要忘记启动一个新 shell 或手动source ~/.bash_profile

答案3

不会debootstrap创建语言环境。因此我们使用其他语言环境。使用此命令:

sudo locale-gen en_US.ISO-8859-1

我希望这有帮助!

答案4

添加LC_ALL="en_US.UTF-8"然后/etc/environment重新启动实例/机器

欲了解更多信息请访问此博客

http://www.pixelninja.me/how-to-fix-invalid-locale-setting-in-ubuntu-14-04-in-the-cloud/

相关内容