Sur mon terminal Mac, l'impression UTF-8 fonctionne en général, mais less
ne fonctionne pas correctement.
Donc, cela fonctionne correctement:
$ echo -e '\xe2\x82\xac'
€
mais le canaliser en moins donne quelque chose comme ceci:
$ echo -e '\xe2\x82\xac' | less
<E2><82><AC>
Comment résoudre ce problème?
Pour les diagnostics:
J'utilise Mac OS 10.6.8. moins la version 418, Terminal 2.1.2 (273.1).
La sortie de mes paramètres régionaux est la suivante:
$ 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
(afficher les caractères de contrôle "bruts")less -r
fait la même chose mais gère également les emojis correctement, ce quiexport LESSCHARSET=utf-8
n'est pas le cas.Si vous pouvez voir certains caractères Unicode dans
less
, mais ne parvenez pasless
à afficher les emoji, essayez de passerless
à une version plus récente. Sur Mac OS X, je suis passé de la version 458 à 481 et cela a résolu mon problème (par exemple,git log
peut maintenant afficher des emoji dans les messages de validation).Si vous avez homebrew, vous pouvez remplacer le système moins par une version plus récente en exécutant
brew install homebrew/dupes/less
.la source
brew install less
d'obtenir la mise à niveau.Fonctionne pour moi avec
la source
J'ai googlé cela et essayé les variables d'environnement suivantes qui ont fonctionné pour moi:
Étant donné que je trouve le LC_ALL dans plusieurs réponses différentes, je pense que c'est la bonne. Mais peut-être pas la seule bonne réponse, il pourrait bien sûr y avoir des réponses plus correctes à cette question.
Quoi qu'il en soit, un peu plus de recherche sur Google m'a donné cette description de la variable:
source: http://pubs.opengroup.org/onlinepubs/007908799/xbd/envvar.html
Me conduisant à penser que c'est la variable de langue pour les gouverner tous :)
la source
less
le numéro de version.Il vous suffit de vous mettre à jour
[less][1]
Faites-le avec de l'infusion.
la source