utf8 hebraico no console mysql no debian (via putty no windows)

utf8 hebraico no console mysql no debian (via putty no windows)

Eu tenho um servidor sql rodando em um Linux Debian hospedado em linode.com, alguns dos meus dados contêm caracteres hebraicos.

Estou me conectando ao servidor via putty ssh no Windows 7. quando executo o console de administração sql (mysql) e executo uma consulta selecionada, todos os caracteres hebraicos são exibidos como '?'.

Eu nem tenho certeza de onde está o problema, mas acho que é o console mysql ou o putty que está perdendo o hebraico.

os dados em si estão ok (eu sei disso porque também são acessados ​​​​por meio de uma página da web onde são exibidos perfeitamente).

alguma idéia sobre o que devo fazer para habilitar o hebraico para este cenário?

Obrigado.

Responder1

As codificações de caracteres são um pouco alteradas, pode ser que sejam seus dados (que, afinal, são apenas binários).

Você deve primeiro verificar a codificação do seu banco de dados e a codificação individual da tabela. A codificação refere-se ao armazenamento interno… um bom exemplo pode ser que você esteja armazenando ISO-8859-1de forma que o banco de dados espere apenas ISO-8859-1, mas se alguns dos dados estiverem em hebraico, esses caracteres não estão validem ISO-8859-1.. mas se os clientes colocarem os dados em , e retirá-lo usando ISO-8859-8(hebraico), na maioria das vezes parecerá funcionar.

Aquié um guia do MySQL sobre o assunto.

Eu recomendaria (quando possível) que você usasse UTF-8, há uma série de razões, mas por favor, não altere cegamente a codificação do seu banco de dados, pois isso não recodifica os dados, mas simplesmente informa ao MySQL que deveria ser tratado como UTF8. (O que corromperá seus dados, se a fonte for ISO-8859-1 ou ISO-8859-8.aquié outra introdução sobre codificações de caracteres, e você faria bem em dar uma olhada."O mínimo que qualquer engenheiro de software deve saber sobre Unicode"

Além disso, seu terminal (sua sessão bash), emulador de terminal (putty) e console db (mysql) precisam saber com qual codificação estão lidando... é melhor dizer-lhes UTF-8... e então trabalhar com UTF-8 dados.

informação relacionada