0

我正在尝试将 CSV 文件加载到 mysql 表中,问题是 CSV 文件是“iso-8859-1”而我的数据库是“utf-8”。

我使用了以下说明:

LOAD DATA INFILE 'file.csv' INTO TABLE edes_objetivos_aux CHARACTER SET latin1 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '!EOR' IGNORE 1 LINES (tipo_movimiento,@objetivo_k,nombre,descripcion,metrica_k,acumulativo,heredable,fecha_creacion,usuario_propietario_k,meta,resultado,heredado,acumulativo,porcentaje_avance,fecha_programada,fecha_inicio,fecha_finalizada,porcentaje_padre,periodo) SET objetivo_k=md5(@objetivo_k)

在上面的示例中,我使用 'latin1' 因为这是文件的编码,但是,有些字符不正确,因为我的数据库是 utf-8 :(

我无法更改文件的编码。有没有办法替换错误的字符?我能做些什么?

提前致谢 :)

4

1 回答 1

0

Try loading the CSV into php, running utf8_encode as per link, and then running an insert into your table. Does that work for you? (This might be better anyways because you can sterilize your CSV inputs this way and prevent DB injection)

于 2011-04-19T23:01:30.357 回答