在Terminal.app和iTerm2中运行的某些应用程序中的Unicode符号问题


10
Darwin DeoGloria 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64

新用户帐户。设置了UTF-8的Terminal.app和iTerm2。重音字符在所有应用程序(“å,ä,ö,é”)中都可以正常工作。但是某些命令行应用程序中未显示某些(宽?)Unicode字符。我首先在weechat中发现它,但是在bash shell中它可以正常工作。

有货小牛重击:

DeoGloria:~ test$ echo -e "\xE2\x9A\x91"

用鼠标复制并粘贴标志char。

DeoGloria:~ test$ 
-bash: ⚑: command not found

bash按预期工作。启动默认的zsh,未完成配置

DeoGloria:~ test$ zsh
DeoGloria:~ test$ echo -e "\xE2\x9A\x91"

显示好吧。但是当我粘贴时不是:

DeoGloria% <2691>
zsh: command not found: \u2691

区域设置:

DeoGloria% locale
LANG="sv_SE.UTF-8"
LC_COLLATE="sv_SE.UTF-8"
LC_CTYPE="sv_SE.UTF-8"
LC_MESSAGES="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_ALL=

从zsh启动emacs或vi并粘贴“⚑”可以正常工作。在nano中不起作用。我得到一个非视觉角色。

我怀疑ncurses有一些问题,但是bash,zsh,nano,emacs都与

/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)

我没主意了。有指针吗?


类似的问题在这里,但没有完整的答案:superuser.com/questions/583031/…–
nloveladyallen

Answers:


1

有趣的问题!我做了一些测试。

sh

xXx:~/ $ <2691>                                                                                                                                                                                              
zsh: command not found: \u2691
xXx:~/ $🇧🇸                                                                                                                                                                                                                                                                                         
zsh: command not found: 🇧🇸
xXx:~/ $                                                                                                                                                                                                                                                                                                                                                  
zsh: command not found: 

我还对其他外壳进行了几次测试,结果不一样:

SH

sh-3.2$ 
sh: ⚑: command not found

重击

好的,那应该和sh

bash-3.2$ 
bash: ⚑: command not found

csh / tcsh

[LeBouc-xXx:~] xXx% \U+2691
⚑: Command not found.

显然,所有这些shell都没有设置相同的输入/输出选项。我尝试使用xterm / terminal和iTerm2来查看是否可能是依赖软件的问题。到处都是一样的。

我没有时间进行搜索/阅读,但是您可能会在这里找到有关zsh行编辑器的有用信息。

如果您找到它,请及时更新,很高兴为您提供最后的答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.