Problemas con los símbolos Unicode en algunas aplicaciones que se ejecutan en Terminal.app e iTerm2

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

Cuenta de usuario nueva. Terminal.app e iTerm2 con conjunto UTF-8. Los caracteres acentuados funcionan bien en todas las aplicaciones ("å,ä,ö,é"). Pero algunos caracteres Unicode (¿anchos?) no se muestran en algunas aplicaciones de línea de comandos. Lo descubrí por primera vez en Weechat, pero en bash Shell funciona bien.

En stock Mavericks bash:

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

Copiando y pegando el carácter de la bandera con el mouse.

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

bash está funcionando como se esperaba. Iniciando zsh predeterminado, sin configuración realizada

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

Mostrando bien. Pero no cuando pego:

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

Configuración regional:

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=

Iniciar emacs o vi desde zsh y pegar "⚑" funciona bien. No funciona en nano. Obtengo un carácter no visual.

Sospechaba algunos problemas con ncurses, pero bash, zsh, nano, emacs están todos vinculados con

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

Estoy fuera de las ideas. ¿Algún consejo?

Pregunta similar aquí, pero no hay una respuesta completa: superuser.com/questions/583031/…

Respuestas (1)

¡Interesante pregunta! Hice algunas pruebas de mi lado.

zsh

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

También hice varias pruebas con otros proyectiles y los resultados no son los mismos:

sh

sh-3.2$ ⚑
sh: ⚑: command not found

intento

Ok, eso debería ser lo mismo que sh:

bash-3.2$ ⚑
bash: ⚑: command not found

csh/tcsh

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

Aparentemente, todos esos shells no están configurados con las mismas opciones de entrada/salida. Probé con xterm/terminal e iTerm2 para ver si podía ser un problema dependiente del software. Eso es lo mismo en todas partes.

No tengo tiempo para buscar/leer eso, pero puede encontrar información útil sobre el editor de línea zsh aquí .

Si lo encuentra, manténgame actualizado, me complacería tener la respuesta final a su pregunta.