如何通过SSH查看远程unicode文件?

我有一个包含中文字符的Unicode文件。 我有一个本地和远程副本。

当我在本地文件上使用less的字符显示正确:

奥尔德林

但是,当我ssh到远程机器,并查看相同的文件的远程版本的字符只是这样显示:

<E5><A5><A5><E5><B0><94><E5><BE><B7><E6><9E><97>

如何正确查看远程unicode文件(通过ssh连接时)?

(我在Mac OS上使用标准的terminal应用程序。)

文件是否显示正确,如果你cat (或用head缩短输出)?

我认为正确显示文件的关键在于设置LANGLC_ALL 。 在您的本地系统和远程系统比较这些variables的值,看看它们是否不同,以及是否改变远程一个匹配有所作为。

less人页面(注意最后一句):

       如果LESSCHARSET和LESSCHARDEF都没有被设置,但是任何string
       在LC_ALL,LC_TYPE或者LC_ALL中find“UTF-8”,“UTF8”,“utf-8”或“utf8”
        LANG环境variables,那么默认的字符集是utf-8。

       如果没有find该string,但是您的系统支持setlocale
       界面,less用setlocale来确定字符集。
       通过设置LANG或LC_CTYPE环境来控制setlocale
       variables。

       最后,如果setlocale接口也不可用,则默认
       字符集是latin1。

       控制和二进制字符以突出显示(反向
       video)。 如果可能的话,每个这样的字符都以插入符号表示
        (例如,对于对照A,^ A)。 插入符号仅用于反转
        0100位导致正常的可打印字符。 否则,char-
        acter在尖括号中显示为hex数字。