ls não pode exibir o nome do arquivo codificado utf8 corretamente quando o ssh-ing para uma máquina OS X

0

O problema que estou tentando resolver aqui é que, no terminal de uma sessão ssh para uma máquina OS X, a saída do comando ls não pode exibir caracteres chineses codificados utf8 corretamente nos nomes dos arquivos (mostrando algo como %código%). O cliente ssh que estou usando é ??? e securecrt no Windows (ambos estão configurados para usar a codificação utf8). Ambos têm esse problema. Por outro lado, os caracteres utf8 no conteúdo do arquivo podem ser exibidos corretamente (como via putty e vim ), e o recurso de preenchimento automático do bash também pode exibir caracteres utf8 em nomes de arquivos corretamente (ambos na lista de candidatos são vários candidatos e no nome do arquivo que é preenchido automaticamente quando há apenas um candidato.)

Então a questão é, como fazer cat exibir nomes de arquivos codificados utf8 no terminal de uma sessão ssh para uma máquina OS X?

    
por goodbyeera 03.01.2015 / 10:07

2 respostas

0

Esse problema geralmente é causado devido a variáveis ambientais, portanto, verifique primeiro. digite env você pode obter o resultado. No meu caso, LANG ( export LANG=en_US.UTF-8 ) apenas funciona.

    
por 04.01.2015 / 08:24
0

Para Putty: Na máquina de destino do OSX, procure a variável de ambiente LC_CTYPE ( echo $LC_CTYPE ). Deve ser UTF-8 ou algo como en_EN.UTF-8 . (Se for apenas algo como "en_EN", então é definido como ISO. Nesse caso, altere-o para en_EN.UTF-8 adicionando EXPORT LC_CTYPE=en_EN.UTF-8 ao seu $ HOME / .bash_profile ). Em sua máquina Windows em Putty ir para a configuração - > janela / tradução e lá selecione o mesmo conjunto de caracteres que o env var na sua máquina OSX. Se tanto o env var no servidor quanto o putty forem os mesmos, deve estar funcionando.

    
por 04.01.2015 / 12:36