Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível obter a codificação correta no MySQL


O que quer que aconteça com seus personagens, acontece antes que eles cheguem ao MySQL, eu acho. Os caracteres são convertidos em números pelo computador quando digitamos os caracteres. Então esses números viajam daqui para lá, entre formulários e servidores web, servidores web e interpretadores de script, então servidores de banco de dados e voltam para páginas web seguindo o mesmo caminho.

Onde e como você insere seus dados? Os dados devem sair da forma como entraram. Se seus dados forem fornecidos por meio de formulários da web, verifique as codificações de suas páginas da web e como você envia os formulários. Como você os obtém em seus scripts PHP e como os envia para o servidor de banco de dados. A parte culpada aqui provavelmente não é o MySQL, mas outro lugar. Pode ser MySQL também; mas não é o único lugar de possível mau comportamento e provavelmente não é.

Verifique suas páginas, verifique os cabeçalhos à medida que chegam ao seu navegador.

Sobre os comentários que sua pergunta recebeu, não, não é bom usar ISO5 porque você precisa de várias famílias ISO5. Você deve usar uma codificação Unicode, na maioria das vezes, sendo a melhor utf-8. Além disso, não se trata de qual biblioteca MySQL você usa, a menos que essa biblioteca tenha alguns bugs conhecidos, o que é muito improvável para algo tão antigo. :) Você ainda deve usar o que for recomendado como boas práticas; mas seu problema atual não está relacionado à biblioteca que você usa. O mal está na diferença entre como você insere seus dados e como você os visualiza.