Umlautfehler bei CSV Datei Erstellung

suevas

Grünschnabel
Hallo zusammen

Ich arbeite an einem PHP-Script bei dessen Aufruf ich Daten aus einer MySQL-Datenbank in ein CSV schreibe und anschliessend dem User die Datei direkt zum Download anbiete.

Dabei läuft eigentlich alles (Daten einfügen und automatische Aufforderung zum Download) gut.

Mein Problem ist aber nun, dass sobald ich die CSV-Datei auf meinem Computer (Mac OS X) öffnen will, werden sämtliche Sonderzeichen wie ä, ö, ü, etc. in den merkwürdigsten Zeichen angezeigt, nur nicht in denen, die es sollte.

Hier ein Code-Snippet wie die Datei erstellt wird um sie dem User anzubieten:
PHP:
<?php
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename=Adressen.csv");

echo "äöü;TestL;ÉÄPÜÄ";

?>

Hatte jemand von euch schon Mal ein ähnliches Problem oder weiss wo ich die Lösung finde?
Ich vermute, dass es sich hierbei um ein Problem zwischen PHP und Mac OS X handelt, da ich bei einem führeren Projekt, als ich noch nicht mit Mac arbeiten musste, sondern mit Windows durfte, keine Probleme hatte.

Vielen Dank für baldige Antowrten
suevas
 
Zuletzt bearbeitet:
Hi,
klingt nach Zeichensatzproblem.
Wenn du z.B. die Werte in der Datenbank mit UTF-8 speicherst und dein Script aber als ANSI-kodiert ist, dann können Sonderzeichen schon ein wenig seltsam aussehen.
 
Demnach muss ich die Tabellen Collation und die der Attribute auf z.B. UTF-8 general ci setzen?

Wie kann ich denn das Script auch auf diese UTF-8 Codierung bringen?
 
Ich habe jetzt ohne Datenbankanbindung gearbeitet und folgende Daten verwendet:
äöü;TestL;ÖÜÄ

Dabei habe ich folgendes Ergebniss erhalten.
?§???º;TestL;?ñ?Ñ?ú

Den einzigen Code, den ich verwende um die Datei auszugeben ist den, den ich oben gepostet habe.

Irgendwie verwirrend...
 
Noch verwirrender ist, dass das selbe File auf meiner lokalen XAMPP Version fehlerfrei läuft, nur auf dem Server nicht. Wie vorher ebenfalls ohne Datenbankanbindung etc.
 
Zurück