Linux 语言环境:en_US.UTF-8 与 en_US

How*_*ard 7 linux ubuntu localization shell

我通常通过配置我的 ubuntu

sudo locale-gen --purge en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

我已经安装了语言环境

# locale -a
C
C.UTF-8
en_US.utf8
POSIX
Run Code Online (Sandbox Code Playgroud)

我失踪了可以en_US吗?

Tha*_*tos 11

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

% echo $LANG
en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

如果你运行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 | bug-glibc-locales@gnu.org
 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 | bug-glibc-locales@gnu.org
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8
Run Code Online (Sandbox Code Playgroud)

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


小智 -3

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