Niko: CSV, UTF-8 und Excel

Beitrag lesen

Ich habe jetzt ne ganze Weile rumgepuzzlet um eine CSV-Datei, die ich über PHP aus einer Datenbank mit UTF-8 kodierten Inhalten ziehe, in Excel reinzukriegen.  Klar, manuell ganz einfach mit Zwischenhalt im Texteditor.  Aber von alleine liest Excel kein UTF-8.  Aber UTF-16 Little Endian geht, wenn man's ihm sagt.  Dann müssen die Werte aber durch Tabs getrennt sein.  Insgesamt also:

Header("Content-Type: text/comma-separated-values; charset=utf-8");
Header("Content-Disposition: attachment;filename="$dateiname"");
Header("Content-Transfer-Encoding: 8bit");
$csv = "Wert1\nWert2";
for ($i=1; $i<=$TABELLENLÄNGE;$i++){
  $csv .= $wert1."\t."$wert2;
}
print chr(255).chr(254).mb_convert_encoding( $csv, 'UTF-16LE', 'UTF-8');

Hoffe, das hilft bei Gelegenheit jemandem.

Niko.