Foros del Web » Programando para Internet » PHP »

Error al insertar caracteres especiales en MySql

Estas en el tema de Error al insertar caracteres especiales en MySql en el foro de PHP en Foros del Web. Hola, Cuando hago una query para insertar en mysql y el texto incluye algún caracter especial como apóstrofes, diéresis,... me da error en la inserción. ...
  #1 (permalink)  
Antiguo 04/06/2009, 10:23
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
Error al insertar caracteres especiales en MySql

Hola,

Cuando hago una query para insertar en mysql y el texto incluye algún caracter especial como apóstrofes, diéresis,... me da error en la inserción.

¿Como puedo evitar que si se meten caracteres especiales me los acepte la consulta y luego salgan bien al consultarlos?

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 04/06/2009, 10:40
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Error al insertar caracteres especiales en MySql

Pasa las variables por utf8_encode() antes de insertar
  #3 (permalink)  
Antiguo 04/06/2009, 10:51
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Error al insertar caracteres especiales en MySql

juu yo lo hacia quitando los caracteres especiales, todo a mano.
Voy a probar esa funcion a ver que tal, gracias!
  #4 (permalink)  
Antiguo 04/06/2009, 12:41
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
Respuesta: Error al insertar caracteres especiales en MySql

muchas gracias por tu vuestras respuestas, pero me acabo de dar cuenta que el error está en la comilla simple '
¿Como la puedo meter para que no de error?

Gracias
  #5 (permalink)  
Antiguo 05/06/2009, 01:11
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Error al insertar caracteres especiales en MySql

si no pones el código que te falla no lo puedo saber
  #6 (permalink)  
Antiguo 05/06/2009, 01:32
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: Error al insertar caracteres especiales en MySql

Hay que escapar los datos, para poder insertar caracteres especiales en la base de datos y, de paso, para agregar un poco de seguridad al proceso:

mysql_real_escape_string()
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 05/06/2009, 04:31
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
Respuesta: Error al insertar caracteres especiales en MySql

Gracias por vuestras respuestas, el codigo que utilizo es el siguiente:

mysql_query("UPDATE ficha SET direccion='$direccion', cpostal='$_POST[cpostal]', localidad='$localidad', provincia='$provincia' WHERE id='$_POST[id]'",$conexion) or die("Ha ocurrido un error de MySQL");

Gracias de antemano por la ayuda
  #8 (permalink)  
Antiguo 05/06/2009, 06:01
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: Error al insertar caracteres especiales en MySql

Tan dificil es hacer un $variable = funcion_para_que_funcione($variable); antes de hacer la actualizacion?
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 08/06/2009, 02:18
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
Respuesta: Error al insertar caracteres especiales en MySql

Gracias por la respuesta.
  #10 (permalink)  
Antiguo 08/06/2009, 02:26
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Error al insertar caracteres especiales en MySql

te funcionó???
  #11 (permalink)  
Antiguo 08/06/2009, 02:49
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
Respuesta: Error al insertar caracteres especiales en MySql

Ha ido todo perfecto, lo he puesto de la siguiente forma:

$direccion = mysql_real_escape_string($_POST['dirección'])

Con esto todo perfecto.

Gracias
  #12 (permalink)  
Antiguo 08/06/2009, 02:52
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Error al insertar caracteres especiales en MySql

ok, me alegro

lo preguntaba porque en algunos servers está deshabilitada esa función.

Un saludo
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 19:32.