Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Falsche Sonderzeichen beim Senden von Daten

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
smilla
PostRank 5
PostRank 5
Beiträge: 268
Registriert: 28.07.2008, 19:14

Beitrag von smilla » 04.01.2009, 13:19

Hi,

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 mir die Datei senden lasse, werden Zeichen wie ö falsch dargestellt. Wenn ich es nicht über die Datei laufen lassen, sondern die Daten via echo sende, habe ich das gleiche Problem.

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]