为什么在PuTTY中选择ISO-8859-1字符集而不是使用UTF8?

为什么在PuTTY中选择ISO-8859-1字符集而不是使用UTF8?

我尝试做了一些研究,但不得不承认我对此一无所知。如果我的问题毫无意义,我为我的无知向您表示诚挚的歉意。

PuTTY 似乎默认使用 ISO-8859-1 字符集。我遇到了常见的西班牙语字符无法正确显示的问题,因此我将其更改为 UTF-8。自从我这样做以来,我再也没有遇到过显示字符的问题。

这可能让我相信 ISO-8859-1 中的字符只是 UTF-8 的一个子集。然而,我相当肯定事情没那么简单,但我仍然无法理解。

请纠正我。

答案1

(I'm guessing. Send an email to sgtatham for the one true answer.)

此默认值最有可能的原因是兼容性:Linux 发行版在切换到 en_US.UTF-8 作为默认值之前曾长期使用各种 ISO-8859 字符集。其他较旧的系统可能根本不认识 UTF-8。有些程序仍然无法正确处理多字节输入,即使在 Linux 上使用 ncursesw 构建 UTF-8 也是如此。最后,到目前为止,服务器无法告诉 PuTTY 正在使用哪种字符集。

(ISO-8859-* 确实是 UTF-8 的子集,但与其不二进制兼容——只有前 128 个字节 ASCII 在各种字符集之间保持不变。)

如果您知道服务器支持 UTF-8,最好始终将其设置为默认值。

相关内容