如何让 less 理解代码页?

如何让 less 理解代码页?
LC_ALL=ru_RU.CP1251 less ~/t/show_discounts.js

显示无意义字符,而不是按应查看的方式显示此 CP1251 文件。

如何使less指定编码正常工作?

Debian Linux,Gnome 终端,系统配置为en_US.UTF-8.

答案1

运行less

LC_ALL=ru_RU.CP1251 less file

如果ru_RU.CP1251您的系统上存在语言环境(查看是否LC_ALL=ru_RU.CP1251 locale charmap返回 CP1252),则表明less您位于该语言环境中,这意味着以file该字符集进行编码终端使用该字符集。

如果终端模拟器是在字符集为 UTF-8 的语言环境中启动的,则它将期望以 UTF-8 编码的字符,因此不知道如何处理less向其抛出的那些 CP1251 编码字符。

您还需要在该区域设置中启动终端模拟器,或者您可以使用luit它来进行翻译(假设终端的字符集是 UTF-8)。

或者您可以使用iconv将文件转换为终端的区域设置字符集:

iconv -f CP1251 < file | less

相关内容