• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

[PHP] Zwei UTF-8-Strings (Composed und Decomposed) vergleichen

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Hi,

am Mac gibt's ja leider das Problem, das UTF-8-Dateinamen z.B. Umlaute 'decomposed' ablegen, also quasi als o und zusätzlich die Punkte. In URLs und Formularen wird UTF-8 aber 'composed' abgelegt, womit es nun Probleme gibt. Ich habe nun das Problem dass ich zwei Strings vergleichen muss wo einmal composed UTF-8 und decomposed UTF-8 vorliegt. Kennt jemand einen Trick?

urlencode liefert leider auch zwei unterschiedliche Ergebnisse.
 
Decomposed auslesen, Umlaute ersetzen, dann vergleichen ?
 
Ich weiß leider vorher nicht welche Zeichen alles so verwendet werden, könnten auch osteuropärische Namen vorkommen. Ich habe es auch schon mit mb_convert_encoding in ASCII versucht, doch auch dann sind die Strings unterschiedlich.
 
In PHPBB habe ich nun die Klasse utf_normalizer gefunden. Daraus konnte ich mir was basteln, was für meinen konkreten Fall funktioniert.