En mi terminal Mac, la impresión UTF-8 funciona en general, pero less
no funciona correctamente.
Entonces esto funciona correctamente:
$ echo -e '\xe2\x82\xac'
€
pero canalizarlo en menos da algo como esto:
$ echo -e '\xe2\x82\xac' | less
<E2><82><AC>
¿Cómo se puede arreglar esto?
Para diagnósticos:
Estoy usando Mac OS 10.6.8. menos la versión 418, Terminal 2.1.2 (273.1).
La salida de mi localidad es esta:
$ 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
(mostrar caracteres de control "en bruto")less -r
hace lo mismo pero también maneja los emojis correctamente, loexport LESSCHARSET=utf-8
que no hace.Si puede ver algunos caracteres Unicode
less
, pero no puedeless
mostrar los emoji, intente actualizarless
a una versión más reciente. En Mac OS X, pasé de la versión 458 a la 481 y eso solucionó mi problema (por ejemplo,git log
ahora puede mostrar emoji en los mensajes de confirmación).Si tiene homebrew, puede reemplazar el sistema menos con una versión más reciente ejecutando
brew install homebrew/dupes/less
.fuente
brew install less
obtener la actualización.Trabaja para mi con
fuente
Busqué en Google esto y probé las siguientes variables de entorno que funcionaron para mí:
Viendo que encuentro LC_ALL en múltiples respuestas diferentes, creo que esta es la correcta. Pero tal vez no sea la única respuesta correcta, por supuesto, podría haber respuestas más correctas a esta pregunta.
De todos modos, un poco más de google me dio esta descripción para la variable:
fuente: http://pubs.opengroup.org/onlinepubs/007908799/xbd/envvar.html
Me lleva a pensar que esta es la variable del lenguaje para gobernarlos a todos :)
fuente
less
el número de versión.Solo actualízalo
[less][1]
Hazlo con cerveza.
fuente