Ok, eu encontrei a resposta depois de algum googling. Aparentemente, LESSCHARSET
precisa ser definido assim:
export LESSCHARSET=utf-8
Agora, less
funciona bem para mim.
No meu terminal Mac, a impressão do UTF-8 funciona em geral, mas o less
não funciona corretamente.
Então, isso funciona corretamente:
$ echo -e '\xe2\x82\xac'
€
mas canalizá-lo para menos dá algo assim:
$ echo -e '\xe2\x82\xac' | less
<E2><82><AC>
Como isso pode ser corrigido?
Para diagnósticos:
Estou usando o Mac OS 10.6.8. menor versão 418, Terminal 2.1.2 (273.1).
A saída da minha localidade é 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"
Ok, eu encontrei a resposta depois de algum googling. Aparentemente, LESSCHARSET
precisa ser definido assim:
export LESSCHARSET=utf-8
Agora, less
funciona bem para mim.
Se você puder ver alguns caracteres unicode em less
, mas não conseguir exibir less
para exibir emojis, tente atualizar less
para uma versão mais recente. No Mac OS X, fui da versão 458 para a 481 e isso resolveu meu problema (por exemplo, git log
agora pode exibir emoji em mensagens de confirmação).
Se você tem o homebrew, pode substituir o sistema por uma versão mais recente executando brew install homebrew/dupes/less
.
Funciona para mim com
LANG=
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
Eu pesquisei isso e tentei as seguintes variáveis de ambiente que funcionaram para mim:
export LC_ALL=en_US.UTF-8
export LANG=en_us.UTF-8
Vendo que encontro o LC_ALL em várias respostas diferentes, acho que é o correto. Mas talvez não seja a única resposta certa, é claro que poderia haver respostas mais corretas para essa pergunta.
De qualquer forma, mais alguns googling me deram essa descrição para a variável:
LC_ALL This variable determines the values for all locale categories. The value of the LC_ALL environment variable has precedence over any of the other environment variables starting with LC_ (LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME) and the LANG environment variable.
fonte: link
Levando-me a pensar que esta é a variável de linguagem para governar todas elas:)
Atualize você [less][1]
Faça isso com cerveja.
brew install homebrew/core/less