Foros del Web » Programando para Internet » PHP »

caracteres extraños en base de datos

Estas en el tema de caracteres extraños en base de datos en el foro de PHP en Foros del Web. hola compañeros recuro a ustedes por que no he logrado solucionar mi problema tengo una base de datos con cotejamiento utf8_general_ci mis archivos php lo ...
  #1 (permalink)  
Antiguo 20/12/2016, 11:37
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
caracteres extraños en base de datos

hola compañeros recuro a ustedes por que no he logrado solucionar mi problema

tengo una base de datos con cotejamiento utf8_general_ci

mis archivos php lo tengo con <meta charset="UTF-8">

esta base de datos la he estado trabajando con PHP ya tengo varios registros en las tablas. En un principio no di mucha importancia al tema del cotejamiento (lo se estoy muy verde todavia) y ahora tengo varios registros de esta forma SarahÃ*, C. Médica, etc....

la solucion que busque en internet y que me dio resultado fue agregar la linea
Código PHP:
Ver original
  1. mysqli_query($conexion, "SET NAMES 'utf8'");

esto para los nuevos registros que lleguen desde la pagina y funciono ahora los acentos y las ñ las agrega sin ningun problema

ahora mi problema es que los registros que ya tengo en mi bd como: SarahÃ*, C. Médica que no son pocos, cuando los muestro mediante php me aparecen con los caracteres raros

he intentado agregar la funcion de php utf8_decode y lo soluciona; pero el problema es que los nuevos registros que se han registrado despues de que agregue
Código PHP:
Ver original
  1. mysqli_query($conexion, "SET NAMES 'utf8'");

los acentos y las ñ se muestran con � �

lo que se me ha ocurrido es actualizar los registros directamente desde la bd de datos pero esto me llevaria mucho tiempo

hay alguna otra forma ? cambiar el cotejamiento en la bd?? para que me cambie en automatico
SarahÃ* por Saraí???

ojala puedan orientarme un poco, desde ya muchas gracias!!!
  #2 (permalink)  
Antiguo 29/12/2016, 18:11
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: cracteres extraños en base de datos

Nadie??? Nada por hacer?
  #3 (permalink)  
Antiguo 01/01/2017, 07:10
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, 5 meses
Puntos: 2658
Respuesta: caracteres extraños en base de datos

Si los caracteres están mal en la base de datos, y la conexión esta bien configurada, el error lo tienes en los script de tu aplicación, los cuales están corrompiendo los caracteres ANTES de enviarlos a la base.
Es decir, tienes errores de programación que sólo podrás resolver debuggeando detalladamente TODO.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 05/01/2017, 16:04
 
Fecha de Ingreso: febrero-2016
Mensajes: 43
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: caracteres extraños en base de datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si los caracteres están mal en la base de datos, y la conexión esta bien configurada, el error lo tienes en los script de tu aplicación, los cuales están corrompiendo los caracteres ANTES de enviarlos a la base.
Es decir, tienes errores de programación que sólo podrás resolver debuggeando detalladamente TODO.
gracias por el dato gnzsoloyo lo que he corregido y que creo que era el problema en el lado de la programación fue agregar la linea justo después de mi conexion

Código PHP:
Ver original
  1. mysqli_query($conexion, "SET NAMES 'utf8'");

con esto ya me guarda los acentos correctamente en la bd

todo bien hasta aqui,

el problema que me acabo de encontrar fue que realice un registro desde otro equipo que no es mi equipo y el acento me lo guardo con un �
ej. Ivette L�pez

esto es muy raro porque he hecho pruebas desde un cel y un ipod touch y guarda correctamente los acentos

pero cuando hago el registro desde otra computadora me guarda el � en lugar del acento

que puede estar pasando, en verdad ya no se por donde moverle

tengo mi bd con utf8_genera_ci
mis paginas las tengo con <meta charset="UTF-8">
mi conexion la tengo con mysqli_query($conexion, "SET NAMES 'utf8'");

que me hace falta? ya no tengo mucha cabeza para esto??



gracias por tu ayuda
  #5 (permalink)  
Antiguo 05/01/2017, 18:52
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, 5 meses
Puntos: 2658
Respuesta: caracteres extraños en base de datos

El tema definitivamente parece mas relacionado con PHP que con MySQL.

Muevo el tema al foro e PHP, donde es mas probable que te puedan guiar con el inconveniente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: extraños, mysql, registro, sql, 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 08:22.