在薄荷(cygwin)控制台上显示带重音符号的字符?

问题描述 投票:0回答:1

简而言之,我希望能够在我的Cygwin薄荷糖上键入和显示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(尽管我选择的终端仿真似乎没有区别),并且通过options => text,我将'locale'部分配置为C,字符设置为ISO-8859-1

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

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

$ 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:挪威语。 [当然,我想我会学挪威语,但如果可能的话,我希望不那么费劲一些。]

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

非常感谢。

cygwin non-ascii-characters iso-8859-1 mintty
1个回答
0
投票

只需将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'
⅔

尼斯

© www.soinside.com 2019 - 2024. All rights reserved.