UTF-8 파일의 페이지를 매기고 올바른 문자를 보려면 어떻게 해야 합니까?

UTF-8 파일의 페이지를 매기고 올바른 문자를 보려면 어떻게 해야 합니까?

UTF-8이 포함된 파일에 cat을 사용하면 올바르게 표시됩니다.

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

아마도 더 적은 것이 마치 바이너리인 것처럼 취급되기 때문일 것입니다. 출력의 페이지를 매기면서도 적절한 문자를 보려면 어떻게 해야 합니까?

답변1

에 설명되어 있습니다.lessFAQ영어가 아닌 문자를 덜 표시할 수 있습니까?

Less에는 영어가 아닌 문자를 표시하는 두 가지 방법이 있습니다. 시스템이 ASCII가 아닌 단일 바이트 문자 집합을 사용하는 경우 올바른 "로케일" 설정으로 시스템을 설정해야 합니다. 시스템이 setlocale을 지원하지 않는 경우 LESSCHARSET또는 LESSCHARDEF환경 변수를 설정하여 사용 중인 언어를 간략하게 알 수 있습니다. 자세한 내용은 매뉴얼 페이지의 "국가별 문자 집합" 섹션을 참조하세요.

많은 최신 시스템처럼 시스템이 ASCII가 아닌 텍스트에 대한 유니코드의 UTF-8 인코딩을 지원하는 경우 로케일을 "UTF-8" 또는 "UTF8"(대문자 또는 소문자 모두 가능)을 포함하는 것으로 설정해야 합니다. ) 또는 LESSCHARSET"utf-8"로 설정합니다.

답변2

환경에 다음 변수를 추가합니다.

export LESSCHARSET=utf-8

관련 정보