Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

No guardar caracteres especiales como su html

Estas en el tema de No guardar caracteres especiales como su html en el foro de Mysql en Foros del Web. Mi problema es que al tratar de insertar un caracter como > en una tabla de mysql me lo inserta como su equivalente en html ...
  #1 (permalink)  
Antiguo 26/09/2009, 11:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 14 años, 7 meses
Puntos: 0
No guardar caracteres especiales como su html

Mi problema es que al tratar de insertar un caracter como > en una tabla de mysql me lo inserta como su equivalente en html (para este ejemplo &gt). Al encriptarlo en md5, lógicamente, me da un código distinto al original con el caracter especial, provocando así un error a la hora de hacer el login (en cadenas sin caracteres especiales funciona perfectamente). ¿Podría este problema venir arrastrado ya desde su generación en php? ¿Cómo podría solucionarlo?
  #2 (permalink)  
Antiguo 26/09/2009, 16:44
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: No guardar caracteres especiales como su html

Cita:
me lo inserta como su equivalente en html (para este ejemplo &gt
Esa conversión no la está haciendo MySQL, sino PHP. Si fuese un problema de CharSet, no te pondría esos caracteres sino otros.
El tema es que debes controlar lo que tu página realmente está enviando. "&gt" es el modo en que el html codifica la representación de "greater than" (gt), lo que le dice al explorador que debe poner el símbolo ">".Ergo, el problema está en la página.
Postea tu pregunta en el foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/09/2009, 18:17
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: No guardar caracteres especiales como su html

¿O sea, que el PHP me está convirtiendo siempre los caracteres esos a su equivalente HTML y por tanto sólo se veran bien a la hora de mostrarlos en la página?
  #4 (permalink)  
Antiguo 26/09/2009, 18:53
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: No guardar caracteres especiales como su html

Exactamente.
En tu caso es posible que te esté faltando la administración de los valores entrantes a través de las funciones adecuadas, como podría ser htmlspecialchars_decode(), o alguna otra similar.
De todos modos, si quieres mejores respuestas te sugiero que postees el problema en el Foro de PHP, que es donde están quienes te pueden ayudar. En este no se debe porque sólo se debe postear temas de SQL (reglas del foro).
Además mis conocimientos de PHP son limitados, ya que no trabajo hace mucho con él, por lo que mal puedo darte muchos consejos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 27/09/2009, 08:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 10
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: No guardar caracteres especiales como su html

Lo posteé ya por el foro de PHP y me ayudaron a encontrar la solución. El problema estaba en que hacía un htmlentities() antes de devolver el valor de la contraseña, por lo que aparecía los códigos html de esos caracteres. Gracias por la ayuda de todos modos.
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:42.