Linuchs: Maskierung für die Ausgabe als CSV-Datei

Beitrag lesen

Moin,

eine DB-Tabelle wird als CSV ausgegeben:

$lfd  = 0;
$csv_string  =  "lfd;titel";
while ( $row_csv = @mysql_fetch_assoc( $res_csv )) {
  $csv_string
  .=  "\n"
  .   ++$lfd            . ";"
  .   $row_csv['titel'] . ""
  ;
}
header('content-type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="' . $csv_dateiname .'"');
echo $csv_string;
exit;

Problem: Quotes " oder Semikolone ; in den Daten bringen den Import in ein Kalkulationsprogramm (z.B. LibreOffice Calc) durcheinander, müssen irgendwie maskiert werden.

Über Google komme ich zu selfhtml vom 20.11.2005, wo fputcsv() empfohlen wird. Das setzt aber eine geöffnete Datei voraus, so kompliziert will ich das nicht.

CSV (Dateiformat) – Wikipedia meint zum Thema: „Die Formatierung der Daten selbst ist nicht festgelegt. Das bedeutet, dass die verwendeten Formate zwischen den beteiligten Benutzern abgesprochen werden müssen.“

Ist hier jemand wissend, wie störende Zeichen zu behandeln sind?

Gruß, Linuchs