命令行上的非 ASCII 字符处理不正确

命令行上的非 ASCII 字符处理不正确

我在 Mac 终端中遇到非 ASCII 字符问题。如果我写:

echo ÆØÅ

然后按 Enter 键、向上箭头键、向左箭头键,使光标位于 Ø 和 Å 之间,然后写入 X,然后 Å 转换为 ?,如果我按 Enter 键,则会回显以下内容:

ÆØ?X?

输入非 ASCII 字符时按Ctrl+ACtrl+E也会导致混乱。

我的设置如下:

~/.profile:
export LC_ALL="nb_NO.UTF-8"

~/.inputrc:
set input-meta on
set output-meta on
set convert-meta off

Terminal > Settings > Advanced > Declare terminal as: xterm

取消设置LC_ALL没有效果。更改.inputrc设置似乎只会让事情变得更糟。

我真的希望有人能回答这个问题。

答案1

nb_NO.UTF-8 确实不存在。更改为 no_NO.UTF-8 解决了问题。实际上,这个问题是由于其他原因而设置的 LANG=C 引起的。删除此选项会使 OS X 默认设置 LC_CTYPE=UTF-8,这是开箱即用的。

相关内容