Cat
如何對 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>
大概是因為 less 將它們視為二進制。如何對輸出進行分頁,但仍能看到正確的字元?
less
FAQ裡有說明*能少顯示非英文字元嗎?*Less 有兩種顯示非英文字元的方法。如果您的系統使用非 ASCII 單字節字元集,您應該使用正確的“區域設置”設置來設置您的系統。如果你的系統不支持 setlocale,你可以設置
LESSCHARSET
orLESSCHARDEF
環境變數來告訴你使用的是什麼語言。有關詳細資訊,請參見手冊頁中的“國家字元集”部分。如果您的系統支持非 ASCII 文本的 Unicode UTF-8 編碼,就像許多現代系統一樣,您應該將您的語言環境設置為包含“UTF-8”或“UTF8”(大寫或小寫都可以) ),或設置
LESSCHARSET
為“utf-8”。