Como visualizar um arquivo unicode remoto via ssh?

3

Eu tenho um arquivo unicode que contém caracteres chineses. Eu tenho uma cópia local e uma remota.

Quando uso less no arquivo local, os caracteres são exibidos corretamente:

奥尔德林

No entanto, quando eu ssh para a máquina remota e vejo a versão remota do mesmo arquivo, os caracteres são mostrados assim:

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

Como posso visualizar corretamente o arquivo unicode remoto (quando conectado via ssh )?

(estou usando o aplicativo de terminal padrão no Mac OS).

    
por user9474 20.11.2009 / 21:13

1 resposta

3

O arquivo é exibido corretamente se você cat (ou usou head para encurtar a saída)?

Acho que a chave para tornar less a exibição correta do arquivo é definir LANG ou LC_ALL corretamente. Em seu sistema local e no sistema remoto, compare os valores dessas variáveis e veja se elas são diferentes, e se alterar o remoto para fazer a diferença faz a diferença.

Na página less man (observe a última frase):

       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.
    
por 21.11.2009 / 00:02