修复固定的“设置区域设置失败”。

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

 perl:警告:设置区域设置失败。
 perl:警告:请检查您的区域设置:
     LANGUAGE =(unset),
     LC_ALL =(未设定),
     LC_TIME =“custom.UTF-8”,
     LANG =“en_US.UTF-8”

试过以下几点:

  • 在/ etc / environment中添加了LANG=en_US.UTF-8LC_ALL=en_US.UTF-8
  • 运行apt-get install --reinstall locales (error:perl:warning:回落到标准的语言环境(“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

那么好…我可以想到的select很多。 任何人有任何想法?

谢谢!

有同样的问题,并find解决办法。 您必须重新创buildcustom.UTF-8区域设置def(“自定义”文件可能是因为您更改了date或时间格式)。 跑

 sudo localedef -f UTF-8 -i custom custom.UTF-8 

另一种方法是将语言环境添加到要为其configurationdpkg-reconfigure locales中。 在Debian上:

 echo 'custom.UTF-8 UTF-8' |sudo tee -a /etc/locale.gen sudo dpkg-reconfigure locales 

在Ubuntu上:

 echo 'custom.UTF-8 UTF-8' |sudo tee -a /var/lib/locales/supported.d/local sudo dpkg-reconfigure locales 

希望这可以帮助!

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

我用Ubuntu 10.04服务器解决了同样的问题:

 root@hostname:~# export LANGUAGE=en_US.UTF-8 root@hostname:~# export LANG=en_US.UTF-8 root@hostname:~# export LC_ALL=en_US.UTF-8 root@hostname:~# locale-gen en_US.UTF-8 root@hostname:~# dpkg-reconfigure locales 

希望这可以帮助。

我用Ubuntu 10.04服务器解决了同样的问题:

 $ export LANGUAGE=en_US.UTF-8 $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 $ sudo locale-gen en_US.UTF-8 $ sudo dpkg-reconfigure locales 

要使更改永久化,您需要在/etc/environment添加variables

 $ sudo vi /etc/environment 

LC_TIME =“custom.UTF-8”

这个看起来很奇怪,应该是"en_US.UTF-8" ,而不是"custom.UTF-8"你应该grep /etc来查看它来自哪里。