ich stellte meine Frage schon vor ein paar Tagen in einem anderen PHP Forum, bekam dort aber keine Antwort. Da hier auch einige Profis sind, weiß hier vielleicht jemand rat.
ich habe ein Statistik Script für unseren Shop programmiert, wo man sich das Ergebnis als .csv exportieren kann. Hier erstmal mein code:
Code: Alles auswählen
// export
if (isset($_POST['action']) && $_POST['action'] == "export")
{
$handle = fopen ("export.csv", "w+");
fwrite($handle, implode("\n", $_POST['export']));
fclose($handle);
header("Content-Type: text/html; charset=ISO-8859-1");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"export.csv\"");
header("Content-Transfer-Encoding: ISO-8859-1\n");
// Datei ausgeben.
readfile("export.csv");
exit;
}
Wenn ich die Datei auf dem Webserver öffne (Ich speichere die ja ab), dann sind die Sonderzeichen korrekt.
Ich habe allesmögliche durchprobiert. Habe auch die Daten direkt gesendet oder Conent-Transfer-Encoding rumprobiert, mit utf8_decode gearbeitet. Ich habe es aber nicht zum laufen bekommen. Ich arbeite immer unter ISO-8859-1.
Hat jemand eine Idee, was ich ändern muss damit der Code richtige Sonderzeichen schreibt? Meiner Meinung nach gehen die bei der Übertragung kaputt, denn das abgespeicherte File ist ja korrekt.
smilla[/code]