Problemy z symbolami Unicode w niektórych aplikacjach działających w Terminal.app i iTerm2

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

Nowe konto użytkownika. Terminal.app i iTerm2 z zestawem UTF-8. Znaki akcentowane działają dobrze we wszystkich aplikacjach („å, ä, ö, é”). Ale niektóre (szerokie?) Znaki Unicode nie są wyświetlane w niektórych aplikacjach wiersza poleceń. Po raz pierwszy odkryłem to weechat, ale w powłoce bash działa dobrze.

Na stanie Mavericks Bash:

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

Kopiowanie i wklejanie znaku flagi za pomocą myszy.

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

bash działa zgodnie z oczekiwaniami. Uruchamianie domyślnego zsh, bez konfiguracji

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

Pokazywanie w porządku. Ale nie kiedy wklejam:

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

Ustawienia regionalne:

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=

Uruchamianie emacsa lub vi z zsh i wklejanie „⚑” działa dobrze. To nie działa w nano. Dostaję postać nie wizualną.

Podejrzewałem pewne problemy z ncurses, ale bash, zsh, nano, emacs są powiązane

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

Nie mam pomysłów. Jakieś wskazówki?

marvi
źródło
Podobne pytanie tutaj, ale nie ma pełnej odpowiedzi: superuser.com/questions/583031/…
nloveladyallen,

Odpowiedzi:

1

Interesujące pytanie! Zrobiłem kilka testów po mojej stronie.

zsh

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

Zrobiłem też kilka testów z innymi powłokami i wyniki nie są takie same:

sh

sh-3.2$ 
sh: ⚑: command not found

grzmotnąć

Ok, to powinno być takie samo jak sh:

bash-3.2$ 
bash: ⚑: command not found

csh / tcsh

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

Najwyraźniej wszystkie te powłoki nie są ustawione z tymi samymi opcjami wejścia / wyjścia. Próbowałem z xterm / terminalem i iTerm2, aby sprawdzić, czy mogę być problemem zależnym od oprogramowania. Tak samo jest wszędzie.

Nie mam czasu na wyszukiwanie / odczytu, które jednak można znaleźć kilka przydatnych informacji o linii edytora zsh tutaj .

Jeśli ją znajdziesz, informuj mnie na bieżąco, chętnie udzielę ostatecznej odpowiedzi na twoje pytanie.

Nibor Ndj
źródło