tag:forum.selfhtml.org,2005:/self Umgang mit Slashes und Anführungszeichen bei späterem CSV-Export – SELFHTML-Forum 2005-11-20T17:51:50Z https://forum.selfhtml.org/self/2005/nov/20/umgang-mit-slashes-und-anfuehrungszeichen-bei-spaeterem-csv-export/900117#m900117 Heinz 2005-11-20T14:21:03Z 2005-11-20T14:21:03Z Umgang mit Slashes und Anführungszeichen bei späterem CSV-Export <p>Guten Tag,</p> <p>ich möchte meine DB-Daten später aus phpmyadmin heraus in eine CSV-Datei exportieren.<br> Nun lautet meine Frage an diejenigen mit Praxiserfahrung:<br> Wie gehe ich am besten mit Slashes und Sonderzeichen um?<br> Soll ich die Daten, die ich in die DB schreibe, mit Escape-Slashes versehen?<br> Mit welchen Zeichen trennt ihr die Felder beim Daten-Export? Was mache ich z.B., wenn ein Datensatz ein Semikolon erhält, dann fällt ja das Semikolon als Trennzeichen für die Felder sofort weg!?</p> <p>Mein Ziel ist es, die Daten möglichst original in der Datenbank zu erhalten (geht das auch ohne Slashes?) und genauso original dann in der  CSV-Datei, die ich später evtl. in Excel importieren möchte.</p> <p>Danke für eure Tipps</p> <p>Heinz</p> https://forum.selfhtml.org/self/2005/nov/20/umgang-mit-slashes-und-anfuehrungszeichen-bei-spaeterem-csv-export/900120#m900120 Chris 2005-11-20T14:56:38Z 2005-11-20T14:56:38Z Umgang mit Slashes und Anführungszeichen bei späterem CSV-Export <p>Hi,</p> <p>lies Dir <a href="http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=author%3ATom+category%3APHP+CSV&lang=on&feld=alle&index_5=on&hits=100" rel="nofollow noopener noreferrer">http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=author%3ATom+category%3APHP+CSV&lang=on&feld=alle&index_5=on&hits=100</a></p> <p>durch, und Du bist im Bilde</p> <p>Mir hat es schließlich auch mal beigebracht...</p> <p>LG<br> Chris</p> https://forum.selfhtml.org/self/2005/nov/20/umgang-mit-slashes-und-anfuehrungszeichen-bei-spaeterem-csv-export/900119#m900119 wahsaga http://wazgnuks.net/ 2005-11-20T15:03:50Z 2005-11-20T15:03:50Z CSV-Format - Maskierung von Sonderzeichen <p>hi,</p> <blockquote> <p>Mit welchen Zeichen trennt ihr die Felder beim Daten-Export? Was mache ich z.B., wenn ein Datensatz ein Semikolon erhält, dann fällt ja das Semikolon als Trennzeichen für die Felder sofort weg!?</p> </blockquote> <p>Standard für CSV ist das Semikolon als Trennzeichen.<br> Sollte das Semikolon selbst in einem Datum vorkommen, wird dieses Datum mit doppelten Anführungszeichen umschlossen.<br> Daraus wiederum folgt natürlich, dass "normale" doppelte Anführungszeichen im Inhalt eines Datums ihrerseits maskiert werden müssen - üblicherweise durch Doppelung, also "".</p> <p>Schau dir die Beschreibung der <a href="http://de.wikipedia.org/wiki/CSV-Datei#Besonderheiten" rel="nofollow noopener noreferrer">wikipedia zum Thema CSV-Datei</a> an - das sollte weiterhelfen.</p> <p>Falls du mit PHP arbeitest, könnte dir wohl <a href="http://www.php.net/manual/de/function.fputcsv.php" rel="nofollow noopener noreferrer">fputcsv()</a> schon den größten Teil der Arbeit abnehmen.</p> <p>gruß,<br> wahsaga</p> <div class="signature">-- <br> /voodoo.css:<br> #GeorgeWBush { position:absolute; bottom:-6ft; } </div> https://forum.selfhtml.org/self/2005/nov/20/umgang-mit-slashes-und-anfuehrungszeichen-bei-spaeterem-csv-export/900118#m900118 dedlfix 2005-11-20T17:51:50Z 2005-11-20T17:51:50Z Umgang mit Slashes und Anführungszeichen bei späterem CSV-Export <p>echo $begrüßung;</p> <blockquote> <p>Soll ich die Daten, die ich in die DB schreibe, mit Escape-Slashes versehen?</p> </blockquote> <p>Jein. Die Daten, die in der DB ankommen sollten immer im Rohzustand sein. Beim Transport in die DB sind meist Maskierungen vonnöten, damit Zeichen, die auf diesem Transportweg (sprich SQL-Befehl) eine besondere Bedeutung haben von denen die ein Bestandteil der Daten sind unterschieden werden können. Jede Datenbank hat andere Sonderzeichen und Maskierungsregeln. Bei MySQL kümmert sich <a href="http://de.php.net/manual/en/function.mysql-real-escape-string.php" rel="nofollow noopener noreferrer">mysql_real_escape_string()</a> um die richtige Behandlung der Daten. (PHP's <a href="http://de.php.net/manual/en/security.magicquotes.php" rel="nofollow noopener noreferrer">Magic Quotes</a>-Mechanismus ist nicht sonderlich geeignet.)</p> <blockquote> <p>Mit welchen Zeichen trennt ihr die Felder beim Daten-Export?</p> </blockquote> <p>So wie es das Export-Format vorschreibt. Für CSV hast du ja schon Tipps bekommen.</p> <blockquote> <p>Mein Ziel ist es, die Daten möglichst original in der Datenbank zu erhalten (geht das auch ohne Slashes?)</p> </blockquote> <p>Die zum Transport eingefügten Maskierungszeichen werden bereits vom Parser eliminiert und landen nicht in den Tabellen.</p> <blockquote> <p>und genauso original dann in der CSV-Datei, die ich später evtl. in Excel importieren möchte.</p> </blockquote> <p>Das ist wenig zielführend. Für jeden Transportweg (HTML, CSV, SQL, Brieftaube, ...) sind die Daten entsprechend anzupassen. Wenn Daten aus einer Quelle kommen, bearbeitet werden sollen und dann zu einem Ziel transportiert werden sollen, sind sie gegebenenfalls zuerst von den Maskierungszeichen der Quelle zu befreien, dann erfolgt die Verarbeitung um sie anschließend dem Ziel entsprechend erneut zu maskieren.</p> <p>echo "$verabschiedung $name";</p>