Hi,
die csv-datei wird auf nem linux-server erzeugt
Ich denke, darin liegt die Lösung. Der Server erzeugt dir vermutlich eine Datei mit UTF-8, und damit werden die Umlaute falsch dagestellt, wenn der "Empfänger" diese Kodierung nicht darstellen kann/nicht richtig eingestellt ist.
Schau mal in deinem Programm nach, ob du UTF-8 lesen kannst, sonst gibts Konverter von UTF-8 nach ISO-Irgendwas (weiss jetzt die Nummer nicht)