На моем терминале Mac печать UTF-8 в целом работает, но less
не работает правильно.
Так что это работает правильно:
$ echo -e '\xe2\x82\xac'
€
но, добавив меньше, получится что-то вроде этого:
$ echo -e '\xe2\x82\xac' | less
<E2><82><AC>
Как это можно исправить?
Для диагностики:
Я использую Mac OS 10.6.8. меньше версии 418, Терминал 2.1.2 (273.1).
Вывод моей локали такой:
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL="C"
less -r
(отображать «сырые» управляющие символы)less -r
делает то же самое, но также правильно обрабатывает эмодзи, аexport LESSCHARSET=utf-8
это не так.Если вы видите некоторые символы Юникода
less
, но не можетеless
отобразить смайлики, попробуйтеless
перейти на более свежую версию. В Mac OS X я перешел с версии 458 на 481, и это исправило мою проблему (например,git log
теперь можно отображать эмодзи в сообщениях коммита).Если у вас есть homebrew, вы можете меньше заменить систему новой версией, запустив ее
brew install homebrew/dupes/less
.источник
brew install less
получить обновление.У меня работает с
источник
Я прогуглил это и попробовал следующие переменные окружения, которые работали для меня:
Поскольку я нахожу LC_ALL в нескольких разных ответах, я думаю, что это правильный ответ. Но, возможно, не единственный правильный ответ, конечно, могут быть более правильные ответы на этот вопрос.
Во всяком случае, еще один поиск в Google дал мне это описание для переменной:
источник: http://pubs.opengroup.org/onlinepubs/007908799/xbd/envvar.html
Приводит меня к мысли, что это языковая переменная, чтобы управлять ими всеми :)
источник
less
номер версии.Просто обновить вас
[less][1]
Сделай это с варевом.
источник