Как разбить файл UTF-8 на страницы и увидеть нужные символы?

Как разбить файл UTF-8 на страницы и увидеть нужные символы?

Если я использую cat для файла, содержащего UTF-8, он отображается правильно:

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

Но если я использую «less», то не-ASCII символы экранируются:

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

предположительно потому, что less обрабатывает их как двоичные. Как мне разбить вывод на страницы, но при этом видеть правильные символы?

решение1

Это объясняется в lessFAQ.Может ли less отображать символы неанглийского языка?

Less имеет два способа отображения неанглийских символов. Если ваша система использует не-ASCII однобайтовый набор символов, вам следует настроить ее с правильными настройками "locale". Если ваша система не поддерживает setlocale, вы можете установить переменную окружения LESSCHARSETили LESSCHARDEF, чтобы сообщить less, какой язык вы используете. Подробности см. в разделе "НАЦИОНАЛЬНЫЕ НАБОРЫ СИМВОЛОВ" на странице руководства.

Если ваша система поддерживает кодировку UTF-8 Unicode для текста, отличного от ASCII, как это делают многие современные системы, вам следует либо установить локаль, включающую «UTF-8» или «UTF8» (подойдет как верхний, так и нижний регистр), либо установить LESSCHARSET«utf-8».

решение2

Добавьте в свою среду следующую переменную:

export LESSCHARSET=utf-8

Связанный контент