Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Cual es lo correcto para importar datos CSV respetando acentos y "ñ"

Estas en el tema de Cual es lo correcto para importar datos CSV respetando acentos y "ñ" en el foro de Mysql en Foros del Web. Buen día Me podrian ayudar con esto? =) Cual es lo correcto para importar datos CSV respetando acentos y la letra "ñ" Tengo mysql v4, ...
  #1 (permalink)  
Antiguo 20/03/2007, 00:55
Avatar de webbeginner  
Fecha de Ingreso: noviembre-2004
Mensajes: 241
Antigüedad: 15 años, 3 meses
Puntos: 2
Cual es lo correcto para importar datos CSV respetando acentos y "ñ"

Buen día

Me podrian ayudar con esto? =)

Cual es lo correcto para importar datos CSV respetando acentos y la letra "ñ"

Tengo mysql v4, y estoy tratando de importar desde un archivo CSV 800 registros, en el diseño de la tabla el character set es utf8 y collation es utf8_spanish_ci.

el problema a la hora de importar los datos es que los registros que llevan ñ se cortan,

ejemplo

un registro que dice´" Compañia mexicana agropecuaria" lo importa como "Compa" ... es decor que se corta.

Me podrian ayudar a encontrar el "character set" o collation indicado?

o mejor aún.... que estoy haciendo mal ?

Abajo pongo el codigo de mi tabla



Código:
CREATE TABLE `empresas` (
  `id_empresa` int(10) unsigned NOT NULL auto_increment,
  `em_nombre` varchar(100) character set utf8 collate utf8_spanish_ci NOT NULL default '',
  `em_pais` smallint(3) default '0',
  `em_ciudad` varchar(100) character set utf8 collate utf8_spanish_ci NOT NULL default '',
  `em_direccion` varchar(150) character set utf8 collate utf8_spanish_ci NOT NULL default '',
  `em_telefono1` varchar(40) character set utf8 collate utf8_spanish_ci NOT NULL default '',
  `em_telefono2` varchar(40) character set utf8 collate utf8_spanish_ci default NULL,
  `em_fax` varchar(100) character set utf8 collate utf8_spanish_ci default NULL,
  `em_pagina_web` varchar(120) character set utf8 collate utf8_spanish_ci default NULL,
  `em_email` varchar(100) character set utf8 NOT NULL default '',
  `em_validacion` tinyint(4) default '1',
  `em_categoria` tinyint(3) default '0',
  PRIMARY KEY  (`id_empresa`),
  KEY `pais` (`em_pais`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
__________________
************************
"La bondad es simple; la maldad, múltiple"
  #2 (permalink)  
Antiguo 20/03/2007, 22:51
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 18 años, 2 meses
Puntos: 11
Re: Cual es lo correcto para importar datos CSV respetando acentos y "ñ"

Tu problema puede ser la forma de la sintaxis para determinar el delimitador


Código:
LOAD DATA LOCAL INFILE 'archivoc.sv' 
INTO TABLE tempresas
FIELDS TERMINATED BY ','  OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n'
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 11/06/2009, 19:16
 
Fecha de Ingreso: febrero-2009
Mensajes: 22
Antigüedad: 11 años
Puntos: 0
Respuesta: Re: Cual es lo correcto para importar datos CSV respetando acentos y "ñ"

Cita:
Iniciado por Linterns Ver Mensaje
Tu problema puede ser la forma de la sintaxis para determinar el delimitador

Excelente solución.

Gracias..
Código:
LOAD DATA LOCAL INFILE 'archivoc.sv' 
INTO TABLE tempresas
FIELDS TERMINATED BY ','  OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n'
  #4 (permalink)  
Antiguo 12/06/2009, 09:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 11 años, 10 meses
Puntos: 300
Respuesta: Cual es lo correcto para importar datos CSV respetando acentos y "ñ"

Un par de cosas, por si sirven de algo:
1) ¿por qué creas una base con charset latin1, en lugar de charset=utf8, que es el que usas en campos.

2) Si tienes datos guardados en un archivo codificado en ANSI (latin1, ISO-8859-1, alfabeto occidental, que es casi lo mismo) desde el que importas, ese es, creo, el problema: te corta todos los caracteres que se almacenan de distinto modo en UTF8 y en ISO-8859-1, y te "prepara una buena" en la base. Propuesta de solución: Abres ese archivo con el bloc de notas y lo guardas con codificación utf8 (el bloc de notas te permite hacerlo). Luego importas y nos cuentas.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:02.