在薄荷(Cygwin)控制台上显示重音字符?



简而言之,我希望能够在我的Cygwin Mintty上键入和显示ISO-8859-1中的字符。 不幸的是,我还没有弄清楚如何做到这一点。

我的区域设置:

$ locale
LANG=C.ISO-8859-1
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=C

Mintty 被配置为xterm(尽管我选择哪种终端仿真似乎没有区别),通过选项 => 文本,我将"区域设置"部分配置为C,字符集配置为ISO-8859-1

当我从键盘键入任何重音字符时,该字符不会显示在终端上。 但是,如果我调用cat,我键入的字符显示正确。 此外,当我使用vi(实际上,vim)进行编辑时,我能够毫无问题地键入(和显示)重音字符。 因此,问题似乎与 shell 有关,而不是与终端仿真本身有关。

此外,如果我编写一个小脚本来制作一个名为être.utx的文件,当我ls它时,该文件显示为???tre.utx。 看着它的十六进制,我得到

$ ls *.utx | od -c -tx1
0000000 357 203 252   t   r   e   .   u   t   x  n
ef  83  aa  74  72  65  2e  75  74  78  0a
0000013

因此,我编写的脚本似乎正在创建一个名称以三元组0xEF 0x83 0xAA开头的文件,而不是编码应0xEA的单字节字符。 我不知道如何解释这一点; 我知道这不是 UTF-8,这将是0xC3 0xAA。

在我的Cygwin配置中似乎只有一个字符集配置为支持8859-1:挪威语。[当然,我想我可以学习挪威语,但如果可能的话,我更喜欢不那么费力的东西......]

无论如何,有人知道我做错了什么吗?

提前非常感谢。

只需将mintty的区域设置设置为 utf8-ish 即可。

就我而言:

Window Menu (Alt+Space)
Options… (o)
Text (l.h. panel)
Locale → en_GB
Character Set → UTF-8
[Save]

退出并重新启动

$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_ NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_ALL=
$ echo $'u2154'
⅔

相关内容

  • 没有找到相关文章