在mintty(cygwin)控制台上显示重音字符?

在mintty(cygwin)控制台上显示重音字符?,cygwin,non-ascii-characters,iso-8859-1,mintty,Cygwin,Non Ascii Characters,Iso 8859 1,Mintty,简而言之,我希望能够在我的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(尽管我选择的终端模拟似乎没有什么区别),通过options=>text,我将“lo

简而言之,我希望能够在我的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
(尽管我选择的终端模拟似乎没有什么区别),通过options=>text,我将“locale”部分配置为
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

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

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

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

非常感谢。

只需将mintty的语言环境设置为utf8

就我而言:

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'
⅔

尼斯

不幸的是,utf-8是一个多字节字符集。我不得不为这个项目与iso-8859-1合作。