J'insère des données dans la table en tant que chargement en bloc, $ handle = fopen ($ _ FICHIERS ['file_clg'] ['tmp_name'], "r");Fichier csv avec délimiteur autre que virgule dans php
fgetcsv($handle);
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$collegename = trim(str_replace(array("’","'"),"'",$data[0]));
$description = trim(str_replace(array("’","'"),"'",$data[1]));
$sql1 = $db->selectquery("insert into $tbl(name,details)values('" .$collegename."','" .$description."')");
}
fclose($handle);
Seuls deux champs est mentionné ici: morethan 25 colonnes dans mon bulkupload csv
Le problème est que le séparateur csv est la virgule (« »), mais dans le contenu du champ de détails de certains cas comprennent les virgules, comme dans ce cas record pas inséré correctement ..
comment résoudre ce cas ???
et un problème dans la section d'insertion,
Nom Collège Institut de génie & Technologie de Alva (de AIET)
et son enregistrée dans le tableau ci-dessous le format:
Alvas Institut de génie & Technology (AIET)
J'essaie ci-dessous le code:
$collegename = htmlentities(iconv("cp1252", "utf-8", trim(str_replace(array("’","'"),"'",$data[0]))), ENT_IGNORE, "UTF-8");
mais sa ne fonctionne pas, comment puis-je résoudre le problème entre guillemets simples
Et je placé: en-tête ("Content-Type: text/html; charset = ISO-8859-1");
dans la section d'en-tête ..
Pour la première question, vous devrez affecter un séparateur unique à utiliser qui préservera vos valeurs de champ qui contiennent des virgules. Si vous ne pouvez pas faire cet ajustement, vous devrez peut-être travailler une magie de motif regex. Comme pour la deuxième question, utilisez des déclarations préparées. Pouvez-vous fournir quelques lignes d'échantillons afin que nous puissions voir quel type de données est traité? – mickmackusa
comment utiliser un délimiteur unique? Comment puis-je enregistrer des fichiers CSV séparés par des points-virgules? – Renjitha
Si les points-virgules n'existent dans aucune de vos valeurs, ils seront appropriés. Vous pouvez également utiliser des tuyaux '|' ou un autre caractère rarement utilisé. http: // stackoverflow.com/questions/32309554/php-fputcsv-utiliser-semicolon-separator-in-csv Pouvez-vous montrer quelques lignes de données dans votre question? – mickmackusa