|
Dica de Mysql com .NET connector - problemas em GetSchemaTable().
Se houver problema de valores ou nomes de coluna que tiverem acentos serem retornados distorcidos,
basta executar estas duas querys logo que abre a conexão.
SET character_set_results=latin1
SET NAMES latin1
Desta forma você força o servidor a responder com carateres extendidos latin1.
Nota: é preciso que o banco também tenha sido criado como latin1.
Nota2: também funciona se tudo, tanto as querys quanto o banco, forem utf8:
SET character_set_results=utf8
SET NAMES utf8
Pelo que achei na net, existe (ou existia, conforme a versão), um bug no conector do mysql nativo do .net que não sabia tratar os retornos de nomes das tabelas criadas com alias com acento ou caracteres extendidos (exemplo Descrição) - algo a ver com conversão de UTF-8 e ASCII. Isto ocorre especificamente quando você abre um DataReader ou DataSet com uma tabela, e dá um GetSchemaTable() para ver a estrutura. Neste caso descrição viria algo como descri§%o.
|