修复顽固的“设置语言环境失败”。

6 ubuntu localization

我在 Ubuntu 9.10 上有一个非常顽固的、众所周知的语言环境错误:

perl:警告:设置区域设置失败。
perl:警告:请检查您的区域设置:
    语言 =(未设置),
    LC_ALL =(未设置),
    LC_TIME = "custom.UTF-8",
    LANG = "en_US.UTF-8"

尝试了以下方法:

  • 添加LANG=en_US.UTF-8LC_ALL=en_US.UTF-8到 /etc/environment
  • 运行apt-get install --reinstall locales(错误:perl:警告:回退到标准语言环境(“C”)。/usr/bin/mandb:无法设置语言环境;确保 $LC_* 和 $LANG 正确)
  • 运行sudo dpkg-reconfigure locales。结果:无法将 LC_ALL 设置为默认语言环境:没有这样的文件或目录,然后更新所有语言环境,包括 en_US.UTF-8
  • sudo locale-gen 成功更新所有语言环境,包括 en_US.UTF-8
  • sudo locale-gen un_US en_US.UTF-8 没有错误也没有其他输出
  • /etc/default/locale它说LANG="en_US.UTF-8"
  • echo $LANG 给出 en_US.UTF-8
  • /var/lib/locales/supported.d/local 说 en_US.UTF-8 UTF-8
  • locale -a 给我:
C
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

好吧......我几乎没有我能想到的选择。有人有什么想法吗??

谢谢!

Ted*_*ddy 9

您也可以尝试安装该locales-all软件包,以避免再次生成任何语言环境。


小智 3

遇到了同样的问题并找到了解决方案。您必须重新创建custom.UTF-8区域设置定义(“自定义”文件可能在那里,因为您更改了日期或时间格式)。跑步

sudo localedef -f UTF-8 -i custom custom.UTF-8
Run Code Online (Sandbox Code Playgroud)

另一种方法是将区域设置添加到您想要dpkg-reconfigure locales配置的区域设置中。在 Debian 上:

echo 'custom.UTF-8 UTF-8' |sudo tee -a /etc/locale.gen
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

在Ubuntu上:

echo 'custom.UTF-8 UTF-8' |sudo tee -a /var/lib/locales/supported.d/local
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!