gpt4 book ai didi

bash - 如何让带重音的字母在 bash 上实际工作?

转载 作者:行者123 更新时间:2023-11-29 08:42:26 24 4
gpt4 key购买 nike

我在 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 >,一个 ¢ 代表一个 ò,其他什么都没有。

我如何让这一切变得有意义?

编辑:我的区域设置、cygwin 版本和终端如下

$ 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 -

autohotkey脚本的相关部分如下

#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ò
...

最佳答案

要使用 Mintty 1.1.2 通过 Cygwin 在 bash 上获取重音字母,只需执行以下操作:

  1. 转到菜单(如果您没有看到任何菜单,请右键单击您的终端)。
  2. 点击选项...
  3. 点击文本
  4. 区域设置更改为C
  5. 字符集更改为ISO-8859-1(西欧)

Changing Locale and Character set in Mintty 1.1.2

然后测试一下:

Echoing accented letters in Mintty 1.1.2

关于bash - 如何让带重音的字母在 bash 上实际工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com