Moin!
Wenn es tatsächlich so ist, dass er die Dateinamen umkodieren muss um die Dateien auf einem Windows-OS zu speichern (Ich habe keine Ahnung, da ich PHP unter Windows nicht benutze) dann ist iconv das Mittel der Wahl:
Ohne Rätselraten können wir zweifelsfrei fesstellen, dass bei einem FileUpload 2 (in Worten: Zwei) Systeme im Spiel sind, deren Zeichenkodierung ggf. verschieden sein kann. Das hat mit PHP zunächst gar nichts zu tun.