jump to navigation

Problemas de escapado de caracteres al guardar texto en PHP lunes, 2 abril 2007

Posted by israelof in Implementación.
trackback

Uno de los problemas más comunes a la hora de guardar texto en un el fichero mediante PHP, aparece cuando, una vez guardado el texto, por arte de magia, en el contenido del fichero aparecen caracteres especiales escapados (por ejemplo \» cuando debería aparecer «).

Una de las cosas en que pensamos que podemos hacer mal, es que mandamos las cadenas por GET o POST sin codificar o mal codificadas mediante las funciones urlencode() o rawurlencode(). Pues por lo general, ese no es el problema.

El problema se encuentra en la directiva de PHP magic_quotes_gpc. Dicha directiva tiene un valor por defecto de on, por lo que de forma automática se llama a la función addslashes() en todos los datos que llegan a través de los métodos GET y POST y a través de las cookies.

La función get_magic_quotes_gpc() puede ser útil para comprobar el valor de esta directiva, de modo que si está activada, deberemos llamar a stripslashes() para desescapar el texto que se ha enviado al servidor y así poder guardarlo en el fichero correctamente.

Comentarios»

1. Vate - jueves, 26 julio 2007

Master, lo unico q’ fato, es un ejemplo

2. Arm&cd - martes, 10 junio 2008

si, falta un ejemplo, otra cosa, como se hace para guardar un dato que contenga el caracter especial & i griega??, por favor si alguien sabe.


Replica a Vate Cancelar la respuesta