Здравствуйте. Уже не первый день ищу способ, быстро заливать в БД, файл csv, который пользователи самостоятельно формируют из Excel таблицы. Проблема состоит в кодировке. Парсить естественно каждую строчу и перекодировать это долго. Прошу совета в данной ситуации. Вот запрос: Код (Text): $loadSQL = <<<'EOT' load data infile 'e:\\upload\\file.csv' into table back_db.bpk_new1 fields terminated by ';' enclosed by '\"' escaped by '\\' lines starting by '' terminated by '\r\n' ignore 7 rows (br,ipn,pib,summ,date1,date2,date3,date4) set date1 = str_to_date(date1, '%d.%m.%Y'), date2 = str_to_date(date2, '%d.%m.%Y'), date3 = str_to_date(date3, '%d.%m.%Y'), date4 = str_to_date(date4, '%d.%m.%Y'); EOT; Вот ошибка: Здесь явно понятно что кодировка файла виновата. Если зайти Notepad++ и поменять кодировку на UTF-8 то все отрабатывает. Как сделать чтобы информация из файла вносилась сразу в нужной кодировке?
Вопрос в следующем: 1. По времени это должно быть как можно быстрее 2. Файл CSV уже на сегодня 80 тыс строк и каждый день прибавляется чуть ли не по 500-1000 Есть литература какае-то чтобы почитать. Буду благодарен.
Документация по mysql, там есть утилита, поищи mysql import from csv https://dev.mysql.com/doc/refman/5.7/en/load-data.html
1. Конвертировать весь файл сразу - это самый быстрый способ. 2. Каждый день у вас будет добавляться 0.01 сек ко времени выполнения. Ко времени выхода вас на пенсию, скорость работы скрипта будет примерно 15 сек. Это нормально, это пойдёт.