Unicode特殊字符不适用于Mac OSX 10.11.5 bash终端



因此,在Mac上使用bash时,我已经习惯于键入特殊字符,如重音元音和西班牙语中非常常见的ñ。具体来说,我曾经使用这些字符通过bash用西班牙语编写提交消息,没问题。

在将我的Mac升级到OS X El Capitan 10.11.5后,我注意到只要我键入其中一个字符,提示就会改变,并且不会显示键入的字符,例如,按下ñ会将我的提示从更改为

host:directory username  $

(arg: 1)

而不是简单地在屏幕上显示CCD_ 3。除了arg旁边显示的索引发生变化外,其他强调字符和其他特殊字符也会发生类似的情况。

当我使用OSX Yosemite 10.10.5在MacBook Air上工作时,这些字符在命令行上显示没有问题,就像我习惯的那样。

两台计算机在"终端">"首选项"中都设置了相同的编码集,所以这不应该是问题所在。此外,两台计算机上locale的输出相同,即

LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

我原以为通过这次更新,航站楼将是唯一受影响的区域。当运行一个在我的OSX 10.10.5 Mac上完美运行的python脚本时,它真的变成了一个问题,在我的10.11.5 Mac上,在相同版本的python(3.4.3)下,它会因编码错误而退出。

我终于把它整理好了。我一点一点地比较了我在两台Mac电脑上的终端配置文件设置。它们唯一不同的选项实际上是在"首选项">"配置文件">"高级"下。"International"部分有一个复选框,用于在启动时设置区域设置变量。这在我不工作的Mac上没有检查,而在我工作的MacBook Air上检查了。选中复选框并重新启动终端对我来说是成功的。我不太确定在启动时使用此选项还设置了什么,因为在我找到修复程序之前,两台计算机上的区域设置变量都设置为相同的值。

现在一切都很正常,我可以再次在外壳上键入特殊字符,但最重要的是,我的python脚本现在可以完美运行,没有任何编码问题。

最新更新