我在cygwin上的bash安装不能正确处理重音字母。我尝试添加
set input-meta on # to accept 8-bit characters
set output-meta on # to show 8-bit characters
set convert-meta on # to show it as character, not the octal representation
到我的输入rc,但这还不太有效。的确,如果我输入
$ echo ù
然后在按下输入之前,它会自动更改为
$ echo \303
虽然输出正确,但我得
$ echo \303
ù
对于任何其他重音字母,我得到相同的结果。通常虽然我使用非意大利语键盘,但我使用autohotkey
用带有重音字母的撇号替换字母。在这种情况下,重音字母将替换为\302
,并根据字母打印垃圾:为3y
打印ù
,为¢
打印ò
$ uname -a
CYGWIN_NT-6.1-WOW64 ferdi-Asus 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 Cygwin
$ locale
LANG=it_IT.UTF-8
LC_CTYPE="it_IT.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="it_IT.UTF-8"
LC_COLLATE="it_IT.UTF-8"
LC_MONETARY="it_IT.UTF-8"
LC_MESSAGES="it_IT.UTF-8"
LC_ALL=
$ tty
/dev/pty1
,而其他任何东西都没有。
如何让所有这些变得有意义?
编辑:我的语言环境设置,cygwin版本和终端如下
C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -
我只是点击Cygwin终端链接就可以调用它。它重定向到
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
...
::avra'::avrà
::avro'::avrò
...
autohotkey脚本的相关部分如下
{{1}}
答案 0 :(得分:15)
要使用Cygwin
通过Mintty 1.1.2
在bash上添加重音字母,请执行以下操作:
C
。ISO-8859-1 (Western European)
。
然后测试一下: