Linux 上哪些終端編碼是預設的,哪些是最常見的?
我需要決定我正在處理的複雜商業程序是否應該採用特定的 Linux 終端編碼,或者從終端讀取它(如果是,如何)。
很容易猜出 Windows 上最常見的系統和終端編碼。我們可以假設大多數使用者通過控制面板配置這些,例如,他們的終端編碼,通常是非 Unicode,可以很容易地從該語言/國家的標準配置中預測出來。(例如,在美國英語機器上,它將是 OEM-437,而在俄語機器上,它將是 OEM-866。)
但我不清楚大多數使用者如何在 Linux 上配置他們的系統和終端編碼。經常需要使用非 ASCII 字元的精明人士可能會使用 UTF-8 編碼。但是有多少比例的 Linux 使用者屬於這一類呢?
也不清楚大多數使用者使用哪種方法來配置他們的語言環境:更改 LANG 環境變數或其他方式。
一個相關的問題是 Linux 預設如何配置這些。我自己的 Linux 機器(實際上是通過我的 Windows 機器上的 VMWare Player 執行的虛擬 Debian 5 機器)預設設置為使用 US-ASCII 終端編碼。但是,我不確定這是由我工作場所的管理員設置的,還是開箱即用的設置。
請理解,我不是在尋找“您個人使用哪種編碼?”的答案。而是一些我可以找出Linux使用者可能使用的編碼分佈的方法。
這一基本決定已延續多年。大多數控制台使用 ASCII 作為 ANSI 定義的最基本字元集。下一組編碼(在西方)是 ISO-8859 集(從 1 到 15)。每種語言(語言組)一個。最常見的是 ISO-8859-1(英語),另一個則與所使用的相應語言成比例。
然後,最通用的世界字元列表是 Unicode,在 Linux 中,它通常以 UTF-8 編碼。
這是 Linux 中當今終端和程序最常見的編碼。
從更一般到特定設置:
你
自 Etch on (13 年前)以來, debian中的預設值一直是 utf-8。
Apr 8th 2007
注意:全新 Debian/Etch 安裝預設啟用 UTF8。
並在發行說明中確認:
新 Debian GNU/Linux 安裝的預設編碼是 UTF-8。許多應用程序也將預設設置為使用 UTF-8。
這意味著 Debian(以及 Ubuntu、Mint 和許多其他)預設支持 utf- 8。
當地的
使用者使用命令實際選擇的編碼(和國家)
dpkg-reconfigure locales
留給使用者偏好。
locale
為電腦命令配置實際的特定設置。所有“環境變數”對 POSIX 規範定義的
LC_*
每個國家/語言部分(部分)都有特定的影響。tty
但以上只是“一般”設置。一個特定的終端可能(或可能不)匹配它。好吧,總的來說,當今大多數終端的常用編碼是 utf8。
如果設置為 utf8,則可以找到特定終端 (tty) 的編碼:
$ stty -a | grep -o '.iutf8' iutf8
也就是說,
-
在列印結果之前沒有。終端
但是
terminal
tty 終端(通常)在其中執行的(GUI 視窗)也有自己的語言環境設置。如果設置正常,可能:$ locale charmap UTF-8
會有正確答案的。
但這只是對 linux/unix 的所有 i18n 設置的快速而淺顯的了解。
帶走:可能,假設 Linux 使用 utf8 是你最好的選擇。