Como posso paginar um arquivo UTF-8 e ver os caracteres corretos?

Como posso paginar um arquivo UTF-8 e ver os caracteres corretos?

Se eu usar cat em um arquivo contendo UTF-8, ele será exibido corretamente:

% cat /tmp/sample
<concept code="endangeredLanguage">
  <description value="The language is endangered at the given date"@en/>
  <description value="La lengua está en vías de extinción en la fecha dada"@es/>
  <description value="O idioma está em vias de extinção na data indicada"@pt/>
  <description value="La langue est menacée à la date indiquée"@fr/>
  <description value="ある時点でその言語は絶滅寸前である"@ja/>
  <description value="De taal is bedreigd met uitsterven op de gegeven datum"@nl/>
</concept>

Mas se eu usar "menos", os caracteres não ASCII serão escapados:

% less /tmp/sample
<concept code="endangeredLanguage">
  <description value="The language is endangered at the given date"@en/>
  <description value="La lengua est<C3><A1> en v<C3><AD>as de extinci<C3><B3>n en la fecha dada"@es/>
  <description value="O idioma est<C3><A1> em vias de extin<C3><A7><C3><A3>o na data indicada"@pt/>
  <description value="La langue est menac<C3><A9>e <C3><A0> la date indiqu<C3><A9>e"@fr/>
  <description value="<E3><81><82><E3><82><8B><E6><99><82><E7><82><B9><E3><81><A7><E3><81><9D><E3><81><AE><E8><A8><80><E8><AA><9E><E3><81><AF><E7><B5><B6><E6><BB><85><E5><AF><B8><E5><89><8D><E3><81><A7><E3><81><82><E3><82><8B>"@ja/>
  <description value="De taal is bedreigd met uitsterven op de gegeven datum"@nl/>
</concept>

presumivelmente porque less os trata como se fossem binários. Como posso paginar a saída, mas ainda ver os caracteres adequados?

Responder1

Está explicado no lessFAQMenos pode exibir caracteres de idiomas diferentes do inglês?

Less tem duas maneiras de exibir caracteres diferentes do inglês. Se o seu sistema usar um conjunto de caracteres de byte único não-ASCII, você deverá configurar seu sistema com as configurações de "localidade" corretas. Se o seu sistema não suportar setlocale, você poderá definir a variável de ambiente LESSCHARSETou LESSCHARDEFpara informar menos qual idioma você está usando. Consulte a seção "CONJUNTOS DE CARACTERES NACIONAIS" na página de manual para obter detalhes.

Se o seu sistema suportar a codificação UTF-8 de Unicode para texto não-ASCII, como muitos sistemas modernos fazem, você deve definir sua localidade para algo que inclua "UTF-8" ou "UTF8" (maiúsculas ou minúsculas estão ok ) ou defina LESSCHARSETcomo "utf-8".

Responder2

Adicione a seguinte variável ao seu ambiente:

export LESSCHARSET=utf-8

informação relacionada