Caracteres Espanhóis no Shell de Bases do Servidor Linux

1

Eu tenho um banco de dados que contém palavras em espanhol. Contém palavras como sueño que têm "caracteres especiais" nelas. O agrupamento do banco de dados MySQL é configurado para utf-8-general-ci, que suporta caracteres estrangeiros, portanto, o banco de dados deve estar bem.

Eu tenho um script python que executo no bash shell e ele retorna todas as palavras do banco de dados, incluindo a palavra sueño. O problema é que o shell bash não exibe a palavra "sueño" corretamente. O n (com o til sobre ele) é truncado quando exibido no shell bash. Todas as outras palavras em inglês sem caracteres especiais são exibidas corretamente.

Existe alguma maneira de ativar o suporte a caracteres estrangeiros (caracteres especiais) no bash shell?

Obrigado PR

    
por user104997 28.12.2012 / 18:03

1 resposta

1

Você pode mostrar a saída do comando locale ?

exemplo:

LANG=en_CA.UTF-8
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=

Se você alterar as variáveis LANG e LANGUAGE env, você poderá exibir esses caracteres no seu terminal. Você pode fazer um teste simples como este:

LANG=en_CA.UTF-8; LANGUAGE=en_CA:en; echo ñ;

Se isso funcionar, você pode querer alterar permanentemente sua localidade para uma baseada em UTF-8.

    
por 26.08.2013 / 20:22