因此,在Mac上使用bash时,我已经习惯了很长时间才能输入特殊字符,如重音元音和西班牙语中非常常见的ñ
。具体来说,我曾经使用这些字符通过bash用西班牙语写提交消息,没问题。
将我的Mac升级到OS X El Capitan 10.11.5之后,我注意到只要输入其中一个字符,提示就会更改并且不会显示键入的字符,例如,按ñ
更改来自
host:directory username $
到
(arg: 1)
而不是简单地在屏幕上显示ñ
。除了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)下会出现编码错误。
答案 0 :(得分:2)
我终于把它整理好了。我在我的两个mac上逐位比较了我的终端配置文件设置。它们不同的唯一选择实际上是在首选项>配置文件>高级下。国际' section有一个复选框,用于在启动时设置区域设置变量。这在我的非工作Mac上没有检查,而是在我工作的MacBook Air上检查过。检查框并重新启动终端为我做了。我不太确定在启动时使用此选项设置了什么,即使在找到修复程序之前,看到两个计算机上的区域设置变量都设置为相同的值。
现在一切都像魅力一样,我可以再次在我的shell上键入特殊字符,但最重要的是,我的python脚本现在运行完美,没有任何编码问题。