了解终端区域设置

了解终端区域设置

我正在研究终端自定义,特别是文本编码。我了解UTF-*编码之间的差异,以及不同编码类型之间的差异(例如ISO*UTF-*等等)。但是我不太了解它们在语言环境中的应用,或者,就此而言,特定的语言环境设置实际上应该做什么。

如果我在终端中输入命令,locale -a就会出现一个可以使用的语言环境列表:

af_ZA
af_ZA.ISO8859-1
af_ZA.ISO8859-15
af_ZA.UTF-8
am_ET
am_ET.UTF-8
be_BY
be_BY.CP1131
... <~200 line snip>
C
POSIX

例如,如果我选择af_ZA.UTF-8,我的终端将使用 UTF-8 编码。既然如此,为什么我选择af_ZA.UTF-8而不是en_AU.UTF-8(或fr_FR.UTF-8)很重要?难道不是全部都是 UTF-8 吗?区域设置的语言/位置部分实际上起什么作用?

答案1

区域设置不仅用于指定编码类型,还用于指定更多内容;它们包含因国家/地区而异的数字、日期/时间和货币格式。它们还可以解释不同地方的排序规则和字母表特质。

/usr/bin/locale 由 glibc 使用,因此其设置的任何实际表现将由使用它的软件的作者决定。人们经常想编写一些程序来计算金钱、打印日期或对值进行排序,并让这些程序正确地显示在每个人的 PC 上,无论他们身在世界的哪个地方。通过正确设置您的区域设置,这些程序将为您正确显示数据。

更多内容请见此处: https://wiki.archlinux.org/index.php/Locale

相关内容