Проблеми з символами Unicode в деяких додатках, що працюють у Terminal.app та 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

Свіжий обліковий запис користувача. Terminal.app та iTerm2 з набором UTF-8. Наголошені символи відмінно працюють у всіх програмах ("å, ä, ö, é"). Але деякі (широкі?) Символи unicode не відображаються в деяких програмах командного рядка. Я вперше виявив це у weechat, але в шкаралупі bash він чудово працює.

В наявності Mavericks bash:

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

Копіювання та вставлення прапорець за допомогою миші.

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=

Запуск emacs або vi з zsh та вставлення "⚑" працює чудово. Це не працює в нано. Я набуваю невізуального характеру.

Я підозрював деякі проблеми з 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

Відповіді:


1

Цікаве запитання! Я зробив кілька тестів на моєму боці.

зш

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

Я також робив кілька тестів з іншими оболонками, і результати не однакові:

ш

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.

Мабуть, всі ті оболонки не встановлені з однаковими параметрами вводу / виводу. Я спробував за допомогою xterm / terminal та iTerm2, щоб перевірити, чи можу я бути проблемою, що залежить від програмного забезпечення. Це скрізь те саме.

У мене немає часу , щоб пошук / прочитати це , але ви могли б знайти деяку корисну інформацію про редакторі рядки ЗША тут .

Якщо ви знайдете, будьте в курсі, я буду радий отримати остаточну відповідь на ваше запитання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.