Foros del Web » Programando para Internet » PHP »

Comillas Simples y encode automatico

Estas en el tema de Comillas Simples y encode automatico en el foro de PHP en Foros del Web. Saludos, vengo con un problema que me imagino la solucion sera muy sencilla pero no la he podido encontrar. Estoy trabajando una aplicacion para SMS's ...
  #1 (permalink)  
Antiguo 23/07/2012, 18:01
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Comillas Simples y encode automatico

Saludos, vengo con un problema que me imagino la solucion sera muy sencilla pero no la he podido encontrar.

Estoy trabajando una aplicacion para SMS's la cual para enviar mensajes debo enviar el texto en "texto plano", pero me he topado con el problema que las comillas simples siempre las codifica a ''' y los mensajes de texto estan llegando de esta manera, ya intente varias cosas (la forma de guardar los datos en las tablas por ejemplo), en este momento la informacion en la base de datos (mysql) esta guardada sin escapar, es decir un texto estaria exactamente asi "i'm" o "don't".
Esta informacion ya probe enviarmela por email, imprimiendola en pantalla, etc y siempre la codifica por lo que asumo y el tema aqui es que PHP/Apache puedan estar codificando las comillas simples en automatico, como puedo verificar esto? como puedo corregirlo o cambiarlo mas bien?

Gracias por sus valiosos aportes

Nota: ya probe tambien que al solo recibir los datos de la BD esta sustituya las comillas por otro valor y nada, asi que nose si tendra algo que ver MySQL tambien
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #2 (permalink)  
Antiguo 23/07/2012, 18:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Comillas Simples y encode automatico

PHP escapa las comillas sólo si la directiva magic_quotes_gpc está activa, es lo que se conoce como "comillas mágicas": http://php.net/manual/es/security.magicquotes.php

Lo que me parece un poco extraño es que tengas las comillas simples como ''', porque tanto PHP como MySQL usan la diagonal invertida \ como caracter de escape y, por cierto, MySQL no lo hace de forma automática, para ello debes usar alguna función específica como mysql_real_escape_string() o la que corresponda a la forma en que te conectas.

Por último, si muestras el código que usas para guardar en base de datos sería más fácil tratar de solucionar tu problema... no somos adivinos!
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 23/07/2012, 23:03
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 18 años, 11 meses
Puntos: 4
Respuesta: Comillas Simples y encode automatico

Primero que nada, gracias por responder.

ya habia chequeado magic_quotes y estan en off.

Primero guardaba los datos en la BD usando mysqli_real_escape_string, pero en ese momento aun no hacia pruebas enviando los mensajes entonces no me habia percatado de como guardaba la info.
Luego al ver que se codificaba, cambie el codigo para guardar en la base de datos usando solo addslashes() y cambie manualmente los datos en mysql para escapar las comillas con la barra invertida, pero sigue enviandome la info codificada. Ahora bien, al final de mi dia logre ver que es algo en la configuracion del servidor pues en mi server de pruebas la info llega bien sin codificar, pero el servidor de produccion no lo administro yo, y el administrador me esta preguntando que debe cambiar y he ahi el problema ahora, que nose que decirle que deba cambiar, nose si es algo de php o mysql o inclusive de apache, que crees que pueda pedir que revisen?

Cita:
Iniciado por Triby Ver Mensaje
PHP escapa las comillas sólo si la directiva magic_quotes_gpc está activa, es lo que se conoce como "comillas mágicas": http://php.net/manual/es/security.magicquotes.php

Lo que me parece un poco extraño es que tengas las comillas simples como ''', porque tanto PHP como MySQL usan la diagonal invertida \ como caracter de escape y, por cierto, MySQL no lo hace de forma automática, para ello debes usar alguna función específica como mysql_real_escape_string() o la que corresponda a la forma en que te conectas.

Por último, si muestras el código que usas para guardar en base de datos sería más fácil tratar de solucionar tu problema... no somos adivinos!
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.

Etiquetas: automatico, comillas, encode, mysql, simples, tabla
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 14:03.