如何在 Ubuntu 12.04 中更改区域设置

如何在 Ubuntu 12.04 中更改区域设置

区域设置命令应为 .LANG=en_US.UTF-8。

我的设置是。

locale 
LANG=en_AU.UTF-8
LANGUAGE=en_AU:en
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

本地文件配置

   cat /etc/default/locale : 
   LANG="en_US.UTF-8"
   LANGUAGE="en_US:en"

   cat /etc/locale.conf
   LANG="en_US.UTF-8"

我已经做了什么。

sudo locale-gen en_US.UTF-8 : 
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.

sudo dpkg-reconfigure locales
Generating locales...
  en_IN.UTF-8... done
  en_US.UTF-8... up-to-date
Generation complete.

如果您需要任何东西,请告诉我。

我不确定 /etc/default/locale 文件是默认的还是自定义的。

答案1

我刚刚将其添加到我的家庭资料中。

gedit ~/.profile 它看起来像:

LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

注销 + 登录。一切如预期。

答案2

在某个地方(无法说出在哪里),LC_ALL环境变量被分配了值C。您需要摆脱该分配。

这一页https://help.ubuntu.com/community/EnvironmentVariables提到了一些通常用于持久设置环境变量的文件。

高血压

答案3

根据这个有用的关联

每个 LC_* 和 LANG 变量都可以包含以下形式的语言环境名称:

language[_territory[.codeset]][@modifier] 

其中 language 是 ISO 639 语言代码(小写),territory 是 ISO 3166 国家代码(大写),codeset 表示字符集,modifier 代表其他特定属性(例如,表示特定的语言方言或非标准正字法)。

为了修复这个看似错误的问题,请尝试:

  sudo localedef -v -c -i en_US -f UTF-8 en_US.UTF-8

它应该编译文件区域设置和 C 库。

相关内容