Découper CSV par virgules ou lignes physiques échoue dès qu’une cellule contient ponctuation ou retour. L’analyse dépend de l’état : début, champ non cité, champ cité ou position après le guillemet final. Chaque état autorise des caractères différents.
Ouvrez les guillemets au début
Un guillemet ouvre le mode cité seulement avant tout caractère ordinaire. Plus tard, il devient une erreur et non une consigne de réécriture. Les espaces avant l’ouverture sont des données, car CSVBridge ne rogne ni ne répare les cellules.
Représentez un guillemet par deux
Dans un champ cité, deux guillemets donnent un guillemet littéral et un seul ferme. Ensuite, seul délimiteur, fin de ligne ou fin d’entrée est permis. Refuser le reste évite d’accepter silencieusement un préfixe cité suivi d’un suffixe non cité.
Conservez les retours dans la valeur
CRLF, LF ou CR entre guillemets est du contenu, pas une nouvelle ligne de table. CSVBridge conserve les caractères et JSON.stringify les échappe. Le compteur suit les enregistrements logiques. Un champ non fermé est refusé et aucun JSON partiel ne reste visible.