Nkuba!
Du musst also sowohl nach ü (für andere Betriebs-/Dateisysteme) suchen, also auch nach u + ̈ suchen und das ersetzen.
Ja, oder den String vorher in eine bestimmte Normalisierungsform bringen. Welche, ist im Prinzip egal.Prinzipiell keine schlechte Idee, wenn man ein passendes Werkzeug dafür hat. Das liefert PHP jedoch nicht mit, und das Suchen danach ist sicher mindestens genauso aufwendig wie das händische Berücksichtigen der 6 potentiellen Kandidaten.
In diesem speziellen Anwendungsfall (keine passende Funktion vorhanden und nur sehr wenige mögliche Kandidaten) hast Du recht, für andere Sprachen kann das aber gruselig werden.
Fürs Archiv ein Beispiel aus dem Việtnamesischen:
U+1EC7 ệ LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
≡
U+1EB9 ẹ LATIN SMALL LETTER E WITH DOT BELOW
U+0302 ̂ COMBINING CIRCUMFLEX ACCENT
≡
U+0065 e LATIN SMALL LETTER E
U+0323 ̣ COMBINING DOT BELOW
U+0302 ̂ COMBINING CIRCUMFLEX ACCENT
≡
U+0065 e LATIN SMALL LETTER E
U+0302 ̂ COMBINING CIRCUMFLEX ACCENT
U+0323 ̣ COMBINING DOT BELOW
≡
U+00EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX
U+0323 ̣ COMBINING DOT BELOW
Daß die Reihenfolge der Diakritika egal ist, ist aber auch nicht allgemeingültig – z.B. bei ể ist das nicht so.
Viele Grüße vom Længlich
Mein aktueller Gruß ist:
Ejagham (gesprochen in Kamerun und Nigeria)