Назад | Перейти на главную страницу

Как просмотреть удаленный файл Unicode через ssh?

У меня есть файл Unicode, содержащий китайские символы. У меня есть локальная и удаленная копии.

Когда я использую less в локальном файле символы отображаются правильно:

奥尔德林

Однако когда я ssh на удаленный компьютер и посмотрите на удаленную версию того же файла, символы вместо этого показаны так:

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

Как правильно просмотреть удаленный файл Unicode (при подключении через ssh)?

(Я использую стандартное терминальное приложение в Mac OS.)

Правильно ли отображается файл, если вы cat это (или использовал head чтобы сократить выход)?

Я думаю ключ к созданию less отображение файла правильно лежит в настройке LANG или LC_ALL должным образом. В вашей локальной системе и удаленной системе сравните значения этих переменных и посмотрите, отличаются ли они друг от друга и имеет ли значение изменение удаленной на соответствие.

Из less страница руководства (обратите внимание на последнее предложение):

       If  neither  LESSCHARSET nor LESSCHARDEF is set, but any of the strings
       "UTF-8", "UTF8", "utf-8" or "utf8" is found in the LC_ALL,  LC_TYPE  or
       LANG environment variables, then the default character set is utf-8.

       If  that  string  is  not found, but your system supports the setlocale
       interface, less will use setlocale  to  determine  the  character  set.
       setlocale  is  controlled  by  setting the LANG or LC_CTYPE environment
       variables.

       Finally, if the setlocale interface is also not available, the  default
       character set is latin1.

       Control  and  binary  characters  are  displayed  in  standout (reverse
       video).  Each such character is displayed in caret notation if possible
       (e.g.  ^A for control-A).  Caret notation is used only if inverting the
       0100 bit results in a normal printable character.  Otherwise, the char‐
       acter  is displayed as a hex number in angle brackets.