web-dev-qa-db-fra.com

Échapper correctement à une double citation en CSV

J'ai une ligne comme celle-ci dans mon CSV:

"Samsung U600 24"","10000003409","1","10000003427"

La citation à côté de 24 sert à exprimer les pouces, tandis que la citation juste à côté de cette citation ferme le champ. Je lis la ligne avec fgetcsv mais l'analyseur fait une erreur et lit la valeur comme suit:

Samsung U600 24",10000003409"

J'ai essayé de mettre une barre oblique inversée avant la citation pouces, mais ensuite, je viens d'avoir une barre oblique inversée dans le nom:

Samsung U600 24\"

Existe-t-il un moyen d’échapper correctement à cette situation dans le fichier CSV, de sorte que la valeur soit Samsung U600 24", ou dois-je la modifier dans le processeur?

131
srgb

Utilisez 2 citations:

"Samsung U600 24"""
235
user4035

Non seulement les guillemets doubles, vous aurez besoin de guillemets simples ('), de guillemets doubles ("), de barres obliques inverses (\) et de NUL (l'octet NULL).

Utilisez fputcsv() pour écrire et fgetcsv() pour lire, qui se chargera de tout.

16
Angelin Nadar