我正在尝试将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 :(
我无法更改文件的编码。有没有办法替换错误的字符?我该怎么办?
提前致谢:)
答案 0 :(得分:0)
尝试将CSV加载到php中,按照link运行utf8_encode
,然后在表格中运行插入。那对你有用吗? (这可能会更好,因为您可以通过这种方式对CSV输入进行消毒并防止DB注入)