Pontos de interrogação em vez de letras nacionais no console

3

Eu tenho o Netgear Stora MS2000 (que usa uma versão modificada do Red Hat) e tenho problemas com fontes estranhas ao conectar por SSH. Observe que isso ocorre quando se conecta pelo PuTTY do Windows e executa ssh do console do Mac.

Quando eu uso uma letra polonesa e digito ls , ela é exibida como dois pontos de interrogação. No entanto, quando tento autocompletar o nome do arquivo exibido corretamente. Isso é ilustrado na figura a seguir:

TentoualterarasvariáveisTERMeLANGparavaloresdiferentes,massemsorte.

Tambémnoteiaexibiçãoincorretademc,issopode(ounão)estarrelacionadoaomesmoproblema:

Alguma ideia do que devo mudar?

As telas são feitas a partir do PuTTY, mas parecem iguais no terminal Mac.

EDITAR

Respondendo a pergunta do comentário, a saída é de locale , alias ls e echo młodość | od -t x1 :

-bash-3.2$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=
-bash-3.2$ alias ls
alias ls='ls --color=tty'
-bash-3.2$ echo młodość | od -t x1
0000000 6d c5 82 6f 64 6f c5 9b c4 87 0a
0000013
-bash-3.2$
    
por bpiec 28.02.2015 / 19:29

1 resposta

1

Baseado no comentário de Gilles, consegui corrigir esse problema. O problema estava faltando pl_PL locale. Eu encontrei instruções no blog de CARTA DE CARGA DO PC :

cd ~/sometemp
wget http://sourceforge.net/projects/dsgpl/files/DSM%203.1%20Tool%20Chains/Marvell%2088F628x%20Linux%202.6.32/gcc421_glibc25_88f628x.tgz
tar xvfz gcc421_glibc25_88f628x.tgz
cd arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin
cp locale /opt/bin
cp localedef /opt/bin
cp -R arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n /usr/share
#-----keep another copy safe in case DSM is reinstalled later
cp -R arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n /opt/share
mkdir /usr/lib/locale

E, em seguida, digitando:

localedef -c -f UTF-8 -i pl_PL pl_PL.utf8

e relogando tudo funciona.

    
por 20.03.2015 / 17:33