Вопрос

Я импортирую CSV из DB2 в MySQL, все идет хорошо, до половины миллиона строк в случае столкновения "из колонны с зашифрованными данными.

Вот пример:

100,"foo","bar","µ┬;¬µ┬;→ºµ┬;Öì\"
101,"foo","bar","$⌠ù¶∙$∙µ┬µ┬;→ºµ┬;Öì"

Когда FGETCSV разбирается в этом, он уходит в последнюю двойную цитату и включает в себя следующую строку, как если бы она часть этого поля.

Я вижу несколько сообщений об ошибках и в PHP 5.3 они добавили escape Paral для fgetcsv.

Что использует DB2 в качестве побега? Только что "?

Это было полезно?

Решение

От комментариев на fgetcsv Ручная страница Похоже, это довольно распространенная проблема без реального хорошего обходного пути. Однако есть некоторые альтернативные функции, которые люди были достаточно добрыми, чтобы опубликовать на странице, которая может сделать то, что вам нужно.

Вот ссылка на один из них: http://us3.php.net/manual/en/function.ftetcsv.php#98800.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top