fgetcsv неправильно разделяет данные

я импортирую файл csv для загрузки данных в базу данных. Но в некоторых товарах описание не проходит должным образом. описание похоже

TSD/UHC Model UG-132, 6\" gas revolver with plastic shells. Shells: MUG131 & MUG131BRASS. 290-320 FPS with .20g BBS.

Legal Disclaimer

Restrictions: You must be 18 or older to order this product. In some areas, state and local laws further restrict or prohibit the sale and possession of this product. In ordering this product, you certify that you are at least 18 years old and satisfy your jurisdiction\'s legal requirements to purchase this product.

Предупреждение. Этот продукт может быть принят за огнестрельное оружие сотрудниками правоохранительных органов или другими лицами, и изменение его цвета или размахивание продуктом в общественных местах может рассматриваться как преступление.

но когда я печатаю массив fgetcsv, он отображает это описание в другом массиве, например.

[2] => TSD/UHC Модель UG-132, 6-дюймовый газовый револьвер с пластиковыми гильзами. Патроны: MUG131 и MUG131BRASS. 290–320 кадров в секунду с BBS 0,20 г. Правовая оговорка

Ограничения: для заказа этого товара вам должно быть не менее 18 лет. В некоторых регионах [3] => законы штата и местные законы дополнительно ограничивают или запрещают продажу и владение этим продуктом. Заказывая этот продукт [4] => вы подтверждаете, что вам исполнилось 18 лет и что вы соответствуете законодательным требованиям вашей юрисдикции для приобретения этого продукта.
Предупреждение: сотрудники правоохранительных органов могут принять этот продукт за огнестрельное оружие. или другие [5] => и изменение его цвета или размахивание продуктом в общественных местах может считаться преступлением.

"

У меня также есть больше продуктов с таким описанием с обратной косой чертой, одинарными кавычками и двойными кавычками. некоторые другие продукты загружаются правильно, но с некоторыми возникают проблемы.

Спасибо


person Ritesh    schedule 17.07.2013    source источник
comment
Покажите строку ввода fgetcsv(), которую вы используете, чтобы мы могли видеть, какие оболочки и escape-последовательности вы используете.   -  person Mark Baker    schedule 17.07.2013
comment
Я упомянул рассматриваемый текст, который я разбираю, а также показываю, что он разбивается на массив, поэтому я столкнулся с проблемой при вставке данных. Строка слишком длинная, поэтому я не могу опубликовать ее здесь, поэтому, пожалуйста, отправьте ее из вопроса. начинается с ТСД/УВК Модель УГ-132, 6\газ..... и заканчивается на ....общественность может считаться преступлением.. Спасибо за быстрый ответ Марк...   -  person Ritesh    schedule 17.07.2013
comment
Добавьте немного кода! В частности, где fgetcsv вызывается   -  person tlenss    schedule 17.07.2013
comment
Пожалуйста, добавьте ту строку кода, которую я просил; в противном случае мы можем только догадываться, что вы неправильно обращаетесь с вложениями и экранированными вложениями   -  person Mark Baker    schedule 17.07.2013
comment
Я пробовал fgetcsv($file, 1000,\t) и fgetcsv($file) и fgetcsv($file, 1000, ,). но результат тот же   -  person Ritesh    schedule 17.07.2013
comment
Если вся запись не заключена в кавычки, то не имеет значения, что вы пытаетесь сделать, так как это будет искаженный CSV-файл (или даже просто текстовый файл).   -  person Mark Baker    schedule 17.07.2013


Ответы (1)


Пытаться

fgetcsv($handle, 0, ",", '"', '\\');

которые используют запятую (,) в качестве разделителя, если только она не является частью поля, обернутого в "; и если" появляется как символ в поле, он должен быть экранирован с помощью \

Если запятая не является разделителем, вам нужно будет использовать соответствующий символ-разделитель

person Mark Baker    schedule 17.07.2013
comment
Спасибо за помощь, Марк.. но это не помогает... проблема все та же. - person Ritesh; 17.07.2013