
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 less
FAQ 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
LESSCHARSET
oder festlegenLESSCHARDEF
, 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
LESSCHARSET
auf „utf-8“ setzen.
Antwort2
Fügen Sie Ihrer Umgebung die folgende Variable hinzu:
export LESSCHARSET=utf-8