有一些关于 Linux 区域设置的问题让我很困惑。
zh_CN.utf8
和有什么区别zh_CN.UTF-8
?
它们是同一地区吗?
运行locale
命令:
LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
运行locale -a
命令:
C
C.UTF-8
en_AG
en_AG.utf8
POSIX
zh_CN.gbk
zh_CN.utf8
POSIX
另外两个问题:
C 和 有什么区别C.UTF-8
?和
有什么区别?en_AG
en_AG.UTF-8
答案1
该文件/usr/share/i18n/SUPPORTED
列出了 Ubuntu 支持的语言环境及其正确的名称和编码。
- zh_CN.UTF-8 是正确的名称,而 zh_CN.utf8 是指代同一语言环境的别名。
- C 与 C.UTF-8 不同,它启用 usascii 编码。
- en_AG 是正确的名称,即使 en_AG.UTF-8 是指代同一语言环境的有效语言环境名称。
答案2
en_AG 和 en_AG.UTF-8 有什么区别?
en_AG
没有字符编码功能,因此在需要编码时必须查找。但en_AG.UTF-8
有字符编码,因此在需要时它会处理编码字符。