As codificações de caracteres são um pouco changeling, pode ser que seus dados (que, afinal, são todos apenas binários).
Você deve primeiro verificar a codificação de 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ê está armazenando ISO-8859-1
para que o banco de dados espere apenas ISO-8859-1
, mas se alguns dos dados estiverem em hebraico, esses caracteres não serão valid
in ISO-8859-1
.. mas se os clientes colocarem os dados e retirarem-se usando ISO-8859-8
(hebraico), a maioria parecerá funcionar.
Aqui é um guia do MySQL sobre o assunto.
Eu recomendaria (sempre que possível) que você use UTF-8, há vários motivos, mas, por favor, não altere cegamente a codificação de seus bancos de dados, pois isso não recodifica os dados, mas simplesmente informa o MySQL que deve ser tratado como UTF8. (O que corromperá seus dados, se a fonte for ISO-8859-1 ou ISO-8859-8. aqui é outro um manual sobre codificações de caracteres, e você estaria bem servido para dar uma vez. "O mínimo possível qualquer software engenheiro deve saber sobre Unicode "
Além disso, seu terminal (sua sessão bash), emulador de terminal (putty) e console db (mysql) têm que saber com qual codificação eles estão lidando… é melhor dizer a eles UTF-8… e então trabalhar com Dados UTF-8.