Foros del Web » Programando para Internet » PHP »

insertar con acentos desde un csv

Estas en el tema de insertar con acentos desde un csv en el foro de PHP en Foros del Web. Saludos tengo un problema, estoy insertando unos campos en mi bd desde un csv pero este tiene acentos en los campos, y al guardarlos en ...
  #1 (permalink)  
Antiguo 12/12/2011, 00:14
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
insertar con acentos desde un csv

Saludos tengo un problema, estoy insertando unos campos en mi bd desde un csv pero este tiene acentos en los campos, y al guardarlos en mi base de datos salen como caracterés extraños.

como los guardo correctamente esta parte de mi código es la que uso para ejecutar la consulta.

esta dentro de un ciclo

Código PHP:
Ver original
  1. $sql = "INSERT INTO `tienda`.`cp_productos` (`id` ,`nombre` ,`descripcion` ,`acentuadas` ,`precio` ,`url` ,`img` ,`id_tienda` ,`activo`)
  2.     VALUES (NULL , '$nombre', '$descripcion', NULL , '$precio', '$url', '$img', '$id_tienda', '$activo')";
  3.     mysql_query("SET NAMES 'utf-8'");
  4.     $res = mysql_query($sql, $con);

no estoy seguro de como funciona set names pero no entiendo por que transforma los acentos al pasarlos a la base de datos :S

y se me hace que ando mal por que creo que set names solo funciona de la bd al script y no a la inversa.
  #2 (permalink)  
Antiguo 12/12/2011, 05:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: insertar con acentos desde un csv

Tienes que verificar la codificación. Verifica como estás tratando de guardar los datos si es en utf-8 entonces usa en todos utf-8 incluyendo el archivo csv. Si no pues verificar que conversión se está obteniendo al final, usa mb_detect_encoding para verificar que tipo de caracter se está usando cuando estás apunto de guardar en la base de datos para que veas si el correcto.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 12/12/2011, 10:19
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: insertar con acentos desde un csv

el mb_detect_encoding dice que estan en utf-8, mi bd esta en utf-8_general_ci mi script esta en utf-8 tambien ah y el csv esta en utf-8 :S como detesto estas cosas.
  #4 (permalink)  
Antiguo 12/12/2011, 10:29
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: insertar con acentos desde un csv

lo curioso es que lo solucione poniendole formato ANSI ¬¬ no entiendo esto.

Etiquetas: acentos, csv, mysql, sql
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 02:29.