Hallo delfix,
Vielleicht werden sie auch nur nicht von der Shell richtig erkannt/angezeigt. Ein Hexdump der Datei sollte Aufschluss geben, was wirklich enthalten ist.
Super! Danke für den Hinweis, obwohl: Hexdump einer ASCII-Datei wird schwierig ;))
Dennoch hast du mich auf die richtige Fährte geführt und ich konnte den Übeltäter ermitteln:
Test 1:
$data = "AäOöUüSß";
$sys = 'echo ' . escapeshellarg($data);
Ausgabe: AOUS
Test 2:
$data = "AäOöUüSß";
$sys = 'echo ' . $data;
Ausgabe: AäOöUüSß
Hammer! escapeshellarg() beißt die Umlaute weg und nirgendwo steht es geschrieben. Ob das wohl ein Bug ist? Und wie sichere ich nun die Shell gegen böse Usereingaben ab? Aber das sind andere Themen.
Jedenfalls vielen Dank für Deinen Hinweis! :)
VG
Chris