CSV-файл в таблицу MySQL, проблема кодировки кодировки - PullRequest
0 голосов
/ 20 апреля 2011

Я пытаюсь загрузить файл CSv в таблицу mysql, проблема в том, что файл CSV - «iso-8859-1», а моя база данных - «utf-8».

I 'мы используем следующую инструкцию:

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: (

Я не могу изменить кодировку файла. Есть ли способ заменить неправильные символы? Что я могу сделать?

Заранее спасибо:)

1 Ответ

0 голосов
/ 20 апреля 2011

Попробуйте загрузить CSV в php, запустив utf8_encode согласно link , а затем запустив вставку в вашу таблицу.Это работает для вас?(В любом случае это может быть лучше, потому что таким образом вы можете стерилизовать входы CSV и предотвратить инъекцию БД)

...