如何在 CentOS 中将语言环境更改为 UTF-8?

如何在 CentOS 中将语言环境更改为 UTF-8?

以下是 的输出locale

LANG=zh_CN.GBK
LC_CTYPE="zh_CN.GBK"
LC_NUMERIC="zh_CN.GBK"
LC_TIME="zh_CN.GBK"
LC_COLLATE="zh_CN.GBK"
LC_MONETARY="zh_CN.GBK"
LC_MESSAGES="zh_CN.GBK"
LC_PAPER="zh_CN.GBK"
LC_NAME="zh_CN.GBK"
LC_ADDRESS="zh_CN.GBK"
LC_TELEPHONE="zh_CN.GBK"
LC_MEASUREMENT="zh_CN.GBK"
LC_IDENTIFICATION="zh_CN.GBK"
LC_ALL=

我怎样才能将它们全部更改为UTF8? 如何使语言环境设置在 CentOS 5.5 中持久存在?

答案1

在 CentOS 中尝试使用 system-config-language 命令。这是 CentOS 的方式 :) 您也可以尝试:

localedef -c -f UTF-8 -i en_US en_US.UTF-8
export LC_ALL=en_US.UTF-8

答案2

您是指当前会话还是永久会话?

如果你只是在当前 shell 中需要它,你可以导出该LC_ALL变量。例如:

export LC_ALL=en_US.UTF-8

如果您打算永久或在整个系统范围内执行此操作,则不同发行版会有所不同。您的发行版是什么?

答案3

Red-Hat 等发行版(Centos、SL)附带文件

/etc/sysconfig/i18n

默认情况下包含(就我的情况而言)

LANG="en_GB"

SYSFONT="latarcyrheb-sun16"

上述文件由 /etc/profile.d/lang.sh 提供

就我而言,我想将 en_GB.UTF-8 更改为 en_GB.iso88591,因此我发现“正确”的方法是将 /etc/sysconfig/i18n 附加到

字符集="iso8895-1"

完成后,系统上每个帐户的区域设置应该显示:

我@wark:~$ locale

LANG=en_GB.UTF-8

LC_CTYPE="en_GB.iso88591"

LC_NUMERIC="en_GB.iso88591"

LC_TIME="en_GB.iso88591"

LC_COLLATE="en_GB.iso88591"

LC_MONETARY="en_GB.iso88591"

LC_MESSAGES="en_GB.iso88591"

LC_PAPER="en_GB.iso88591"

LC_NAME="en_GB.iso88591"

LC_ADDRESS="en_GB.iso88591"

LC_TELEPHONE="en_GB.iso88591"

LC_MEASUREMENT="en_GB.iso88591"

LC_IDENTIFICATION="en_GB.iso88591"

LC_ALL=en_GB.iso88591

答案4

在 CentOS 7 中,我可以通过编辑

/etc/profile

这是设置以下变量的地方

export LANG="en_GB.utf8"
export LANGUAGE="en_GB.utf8"
export LC_ALL="en_GB.utf8"

相关内容