Ich hatte das Problem neulich auch, und fast gescheitert bin ich daran, daß der Server, auf dem das alles laufen sollte, ein ISO-8859-1 kodiertes Filesystem verwendet. Dadurch werden alle Dateianfragen unglaublich kompliziert, da urlencode() in UTF-8 anders arbeitet als in ISO.
Ich habe dann mein eigenes kleines Encodierungsprogramm für Dateinamen geschrieben, das überhauptkeine Sonderzeichen verwendet. Das klappt gut.
Und du mußt natürlich bei allen Functionen, die Zeichen erzeugen, die Kodierung angeben,, also z.B. bei htmlentities().
Bezog sich jetzt alles auf PHP
Grüße
Heizer