27/10/2010, 07:07
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: show databases i show tables, create table y insert y los accentos El problema no está en la construcción de la tabla, o en la creación de la sentencia, sino en los charset usados en la conexión, en el lenguaje en los scripts, etc.
Para darte un ejemplo: Si en vb.net usas una conexión con CHARSET Latin1, pero tanto las tablas como las consultas generan una E/S en UTF-8, tendrás malos resultados en los caracteres acentuados. Pero por ejemplo, puedes revisar las tablas y que las letras acentuadas aparezcan correctamente.
Lo que debes analizar es el CHARSET de la base, de las tablas y de cada columna que estés usando. Además deberás revisar el charset de la conexión y cómo llega la base, especialmente si estás interactuando con páginas web.
Yo he tenido personalmente el inconveniente de que tanto la base como la conexión eran UTF-8, por lo que los datos se mostraban correctamente; pero a la hora de leer los datos, MySQL tomaba los valores como LATIN1 y entonces la respuesta generaba caracteres extraños.
La solución fue simplemente controlar el problema en la sentencia (conversion de charset por medio de función de MySQL), y la tabla resultado por medio de PHP (funciones de PHP).
Fue que los datos comenzaron a llegar bien.
En esencia eso es lo que sugieren. Lo que tienes que tener es paciencia para revisar todo paso a paso, y verificar en cada etapa que los resultados sean correctos.
Tip:
Si la base está en la Web, y tienes alguna interfase como phpMyadmin para acceder a ella, realiza algunas consultas manualmente con phpMyadmin para ver si los datos en las tablas están correctamente almacenados. Si no lo están, el problema está en el INSERT, en caso contrario el problema está cuando insertas los datos.
SI el problema está en el INSERT lo que debes revisar en cómo están los datos en el momento de crear el INSERT, eventualmente deberás usar unciones de PHP para asegurarte que los caracteres estén correctamente almacenados.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |