Linux 区域设置:en_US.UTF-8 与 en_US

Linux 区域设置:en_US.UTF-8 与 en_US

我通常通过以下方式配置我的 Ubuntu

sudo locale-gen --purge en_US.UTF-8

我已经安装了语言环境

# locale -a
C
C.UTF-8
en_US.utf8
POSIX

我失踪了,没事吧en_US

答案1

是的,你可能没问题。假设en_US.utf8包含 UTF-8 美国/英语语言环境,它应该可以正常工作。这就是我自己使用的:

% echo $LANG
en_US.UTF-8

如果你运行locale -v -a,它会更加详细一些:

% locale -v -a
locale: en_US           archive: /usr/lib64/locale/locale-archive
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | http://www.gnu.org/software/libc/
    email | [email protected]
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | ISO-8859-1

locale: en_US.utf8      archive: /usr/lib64/locale/locale-archive
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | http://www.gnu.org/software/libc/
    email | [email protected]
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

en_US和之间唯一的区别en_US.utf8在于前者使用 ISO-8859-1 作为字符集,而后者使用 UTF-8。首选 UTF-8。它们之间唯一的区别在于它们能够表示的字符。ISO-8859-1 表示许多美国人常用的字符(英文字母,加上一些带重音符号的字母),而 UTF-8 则编码所有 Unicode,因此几乎可以编码您能想到的任何语言。如今,UTF-8 已成为文本的实际标准编码。(这就是您应该更喜欢它的原因。)

答案2

en_US.utf8 包含 ASCII 的所有内容,但我认为它仅涵盖了这些内容。您的系统将无法打印/查看除这些字符之外的字符,并且在遇到这些未知字符之一时将显示一个框(或一个带有问号的框)。

相关内容