Проблемы с символами 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. Акцентированные символы отлично работают во всех приложениях ("å, ä, ö, é") Но некоторые (широкие?) Символы Юникода не отображаются в некоторых приложениях командной строки. Я впервые обнаружил это в выходные дни, но в оболочке bash он работает нормально.

В наличии Маверикс Баш:

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

Копирование и вставка флага char с помощью мыши.

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

Баш работает как положено. По умолчанию 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 / терминал и iTerm2, чтобы увидеть, могу ли я быть программно-зависимой проблемой. Это везде одинаково.

У меня нет времени на поиск / чтение, но вы можете найти некоторую полезную информацию о редакторе zsh line Вот ,

Если вы найдете это, держите меня в курсе, я буду рад получить окончательный ответ на ваш вопрос

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.