区域设置不正确。我该如何重置?

区域设置不正确。我该如何重置?

我遇到了语言环境问题。和其他程序
中的排序顺序nautilus已更改。
当我启动 GUI 应用程序时,终端中会出现语言环境错误。

    Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

locale命令产生错误消息

    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_ALL to default locale: No such file or directory
    LANG=en_AU
    LANGUAGE=en_AU:en
    LC_CTYPE="en_AU"
    LC_NUMERIC="en_AU"
    LC_TIME="en_AU"
    LC_COLLATE=en_AU.UTF-8
    LC_MONETARY="en_AU"
    LC_MESSAGES=en_AU.UTF-8
    LC_PAPER="en_AU"
    LC_NAME="en_AU"
    LC_ADDRESS="en_AU"
    LC_TELEPHONE="en_AU"
    LC_MEASUREMENT="en_AU"
    LC_IDENTIFICATION="en_AU"
    LC_ALL=

正如建议的那样askubuntu 问题,我运行了以下命令,但没有任何变化。

    sudo apt-get install language-pack-en-base
    sudo dpkg-reconfigure locales

我也尝试了建议askubuntu 问题... 也没有变化。

    apt-get install --reinstall locales

思考这件事始于我通过临时安装和卸载乌尔都语输入法编辑器IBus...这件事肯定是同一天发生的。

也许这与 IBus 有关,但在此之前我没有遇到任何问题。

  • 操作系统是 10.04

答案1

我已设法让一切恢复“正常”运行。

尝试了很多软件包重新安装等操作后,包括完全删除 IBus(但都无效),我开始认为这可能是由重新安装无法修改的配置设置引起的。

我注意到输出中locale缺少 UTF-8 赋值,因此我在最近安装的虚拟机中检查了这一点……所有 LC_* 条目(LC_ALL 除外,它会覆盖全部由于我的一些用户名和密码是用后缀设置的.UTF-8,所以我手动设置了 LC_* 值,如下所示。

我可能只需要使用LC_ALL="en_AU.UTF-8",但在阅读这篇文章时,我发现了如何自定义系统日期和时间格式LC_ALL并将覆盖我的自定义设置。

我不知道我是否使用了最合适的方法,但它确实有效!

修改后的文件为:/etc/default/locale

  • 这显示了修改之前的内容:

    LANG="en_AU.UTF-8"
    LANGUAGE="en_AU:en"
    LC_MESSAGES="en_AU.UTF-8"
    
  • 显示内容模式:

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

VM 中的同一个文件仅包含这一行:

    LANG="en_AU.UTF-8" 

答案2

重新定义区域设置并重新配置可能足以解决问题:

sudo locale-gen en_AU.UTF-8
sudo dpkg-reconfigure locales

运行时,sudo dpkg-reconfigure locales您可以通过单击spacebar并使用 移动在点击 之前选择所需的语言环境Enter

答案3

我也遇到了这个问题,如你所见,你的LC_ALL是空的。我按照如下操作,它有所帮助:

$ sudo vim /etc/environment

并将其设置LC_ALL为类似于en_US.UTF-8以下内容:

LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_ALL="en_US.UTF-8"

然后重新启动并运行locale,它应该是这样的:

LANG=zh_CN.utf8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

答案4

我只想补充一点,我也需要编辑我的家庭资料:

gedit ~/.profile

因此,对于你来说,它看起来像:

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

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

相关内容