Wie kann ich eine UTF-8-Datei paginieren und die richtigen Zeichen sehen?

Wie kann ich eine UTF-8-Datei paginieren und die richtigen Zeichen sehen?

Wenn ich cat auf einer Datei verwende, die UTF-8 enthält, wird Folgendes richtig angezeigt:

% 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>

Wenn ich jedoch „less“ verwende, werden die Nicht-ASCII-Zeichen maskiert:

% 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>

vermutlich, weil Less sie so behandelt, als wären sie binär. Wie kann ich die Ausgabe paginieren, aber trotzdem die richtigen Zeichen sehen?

Antwort1

Es wird in den lessFAQ erklärtKann Less nicht-englische Zeichen anzeigen?

Less bietet zwei Möglichkeiten, nicht-englische Zeichen anzuzeigen. Wenn Ihr System einen nicht-ASCII-Einzelbyte-Zeichensatz verwendet, sollten Sie Ihr System mit den richtigen „Locale“-Einstellungen einrichten. Wenn Ihr System „setlocale“ nicht unterstützt, können Sie die Umgebungsvariable LESSCHARSEToder festlegen LESSCHARDEF, um Less mitzuteilen, welche Sprache Sie verwenden. Weitere Informationen finden Sie im Abschnitt „NATIONALE ZEICHENSÄTZE“ auf der Manpage.

Wenn Ihr System die UTF-8-Kodierung von Unicode für nicht-ASCII-Text unterstützt (wie es bei vielen modernen Systemen der Fall ist), sollten Sie Ihr Gebietsschema entweder auf einen Wert einstellen, der „UTF-8“ oder „UTF8“ enthält (Groß- oder Kleinschreibung ist in Ordnung), oder LESSCHARSETauf „utf-8“ setzen.

Antwort2

Fügen Sie Ihrer Umgebung die folgende Variable hinzu:

export LESSCHARSET=utf-8

verwandte Informationen