nun soll jemand der auf einem aktuellen mac arbeiten diese csv-datei verwenden..
aber bei ihm wurden alle umlaute falsch dargesellt... dann dachte ich
mir ich convertier einfach alles in der csv in utf8
1. Der Mac arbeitet mit einer Zeichentabelle namens MacRoman, die sich in den Positionen von 128 bis 255 (wo unter anderem die Umlaute untergebracht sind) von der auf den meisten anderen System verbreiteten Tabelle iso-8859-1 (bzw. seiner Windows-Variante windows-1252) unterscheidet.
2. Du solltest nicht davon ausgehen, dass Du einem Programm einen Haufen Bytes vor die Füße werfen kannst und es dann weiß, welches Zeichen die Nummer 123 nun darstellen soll.
Um also Deine CSV-Datei in dem Mac-Programm nutzbar zu machen, hast Du vier Möglichkeiten:
a) Du erzählst dem Mac-Programm, dass die CSV-Datei in iso-8859-1 oder windows-1252 kodiert ist.
b) Du konvertierst die CSV-Datei von iso-8859-1 oder windows-1252 nach MacRoman (mit der Funktion iconv() oder, falls für iconv-Bibliothek kein MacRoman installiert ist, von Hand mit der Funktion strtr()).
c) Du konvertierst die CSV-Datei von iso-8859-1 oder windows-1252 nach utf-8 und erzählst dem Mac-Programm, dass die CSV-Datei in utf-8 kodiert ist.
d) Du verwendest von Anfang an utf-8, also auch intern, und erzählst dem Mac-Programm, dass die CSV-Datei in utf-8 kodiert ist.
Beachte, dass iso-8859-1 nicht vollständig zu windows-1252 identisch ist, auch wenn es so erscheinen mag. Die PHP-Funktion utf8_encode() akzeptiert aber nur iso-8859-1, für die unfallfreie Konvertierung von windows-1252 nach utf-8, namentlich des Euro- und einiger Anführungszeichen, musst Du iconv() benutzen.