当我设置了 LC_ALL=C(在命令行上输出英文)时,如何返回到我的原始语言环境(nl_NL)?

当我设置了 LC_ALL=C(在命令行上输出英文)时,如何返回到我的原始语言环境(nl_NL)?

我看过一些有用的帖子LC_ALL=C解决区域设置问题,但这些对我来说看起来有点太复杂了。

在以 开始的会话中,LC_ALL=C bash我尝试了显而易见的方法,但这给出了警告,所以我不确定这是否是设置(无)LC_ALL=nl_NL的正确方法LC_ALL=Cbash

答案1

@steeldriver 说得对,这并不奇怪。你需要做的就是

LC_ALL=

恢复会话的所有正常区域设置。

例子:

$ export LC_ALL=C
$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB: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

设置LC_ALL=恢复原始locale设置

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

答案2

LC_ALL=nl_NL向您发出警告的可能原因是这nl_NL是启用 ISO-8859-1 编码的区域设置,并且通常不会在 Ubuntu 系统上生成。LC_ALL=nl_NL.UTF-8应该可以工作。正如其他人所说,LC_ALL=(即禁用它)也可以。

相关内容