Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2011, 08:31
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
No reconoce los caracteres acentuados en los headers de un DataTable leído en MySQL

Estoy migrando una aplicación en VB.Net 2003 a VB.Net 2005, y todo va de maravillas excepto....
Excepto que en algunas consultas se necesita que los alias de los campos sean palabras que lleven sus acentos correspondientes. Normalmente esto se logra en MySQL poniendo ese alias entre apóstrofes (') o entre acentos inversos (`), y a nivel de SQL anda bien, pero cuando uso un DataAdapter para leer la tabla, estos alias son mal interpretados, quedando cosas como "Ã", en lugar de "á"
¿Cómo puedo evitar este problema?

Detalles a tener en cuenta.
  • La conexión está configurada para UTF8, pero el problema subsiste si se usa LATIN1 también.
  • El problema no se producía antes, con la versión en VB.Net 2003, e incluso no se produce si uso esa versión en la misma PC, por lo que no es un problema con la base, sino con el 2005.
  • Cambiar manualmente los headers no es una opción. Son demasiadas líneas de código, porque la aplicación tiene decenas de consultas en diversos niveles.
  • Cambiar las consultas tampoco es una opción, porque esos alias se usan en otros niveles de subconsultas, y se necesitan escritos de ESA forma, por requerimientos de los clientes.
  • Además, los procedimientos, triggers y consultas a la base ya ocupan más de 18000 líneas (si, es un sistema muy complejo, y con muchos procesos diferentes).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)