Foros del Web » Programando para Internet » PHP »

Interpretación erronea de caracteres en MySQL

Estas en el tema de Interpretación erronea de caracteres en MySQL en el foro de PHP en Foros del Web. Hola a todos. Hace ya varias semanas que tengo el mismo problema y pensé que era de mi versión MySQL, pero parece que el problema ...
  #1 (permalink)  
Antiguo 20/01/2007, 13:46
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 20 años, 10 meses
Puntos: 1
Interpretación erronea de caracteres en MySQL

Hola a todos.
Hace ya varias semanas que tengo el mismo problema y pensé que era de mi versión MySQL, pero parece que el problema segui...
Es un tema bastante raro.
Intengo agregar a través de de un código php un registro a una base de datos; cuando me voy a fijar a través del phpmyadmin, ese registro esa agregado, pero me interpreta mal los acentos, las ñ y otros caracteres más. Algo asi: España
Ya probé todas las ocpiones (cambiar de Cotejamiento, Tipo, etc) pero el problema sigue... La configuración esta así:

localhost
Juegos de caracteres de MySQL: UTF-8 Unicode (utf8)
Cotejamiento de las conexiones MySQL: UTF_Unicode_ci

base
Tipo: MyISAM
Cotejamiento: latin1_swedish_ci

tabla
Cotejamiento: latin1_swedish_ci

Alguien sabe cuál es el error?

PD: Me olvidaba y por ahí es un dato importante... cuando imprimo esos valores en una página html los acentos vuelven a su normalidad y no presentan errores.
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #2 (permalink)  
Antiguo 20/01/2007, 21:00
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
Re: Interpretación erronea de caracteres en MySQL

obviamente tienes un posible problema de "encoding" de los caracteres. Cada caracter es interpretado con algun codigo, para fines de ejemplo, digamos que el codigo para la letra "ñ" en UTF-8 es "126" decimal, pero en el encoding de tu pagina donde los datos son capturados ( que NO es UTF-8) el codigo es "129". Por lo tanto, el dato en la base de datos se guardara como 129, y como la base de datos esta en UTF-8, aparecera un caracter que NO es la "ñ". Y cuando ese 129 lo despliegues nuevamente en la pagina, el 129 SI es la "ñ" por lo que en la pagina lo ves bien.

Solucion, la pagina donde capturas debe enviar los datos en UTF-8, o bien, tu debes de convertirlos a UTF-8 al momento de recibirlos, antes de insertarlos en la base de datos.

puedes aprender mas de esto en: http://php.net/iconv

Saludos,
  #3 (permalink)  
Antiguo 21/01/2007, 06:41
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 20 años, 10 meses
Puntos: 1
Re: Interpretación erronea de caracteres en MySQL

Desde el primer momento tengo configurado UTF-8 en la página donde tengo el formulario de acceso de los datos.
Código:
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
En la página que guardo los datos también es necesario?
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:21.