Nein, bin ich nicht. Ich dachte, dass es am erfolgversprechensten sei, da UTF8 immer als am weitest akzeptiertesten gilt
Das schon - aber auf Dateisystemebene ist es nicht verkehrt, einen einfachen Zeichenvorrat zu wählen. Man weiß nie auf welchem Dateisystem oder auf welchem Gerät die Daten mal gebraucht werden.
Was passiert, wenn du ein File in einem UTF-8-kompatiblen Filesystem ablest, der Client der das File aber dan herunterläd mit dem File nichts anfangen kann, weil es sein Filesystem nicht verträgt?
Sowas kommt häufig vor.
Jetzt könnte ich alle Abfragen und Anweisungen durch utf8_decode/_encode schicken, aber ist das dann "sicher"?
Sicher in welcher Hinsicht?
Das es auch auf Servern mit anderen Zeichenkodierungen verwendet werden kann.
Dann lass die Dateinamen eher durch eine Mapping- oder Transliterationsfunktion die sie auf einfache zeichen reduziert.
äöu.txt wird dann zu aeoeue.txt oder aou.txt - bei doppelungen mit anderen Dateien hängst du (1) usw hinten dran.
Oder wenn doch, wie ginge das?
Siehe oben.