Unicode Normalisierung

Hi,

es wäre gut, wenn Mp3tag die Tags beim Speichern in UTF-8/16/... optional normalisieren könnte, also zerlegte Zeichen (z.B. ä = U+0061 LATIN SMALL LETTER A + U+0308 COMBINING DIAERESIS) in zusammengesetzte Zeichen (z.B. ä = U+00E4 LATIN SMALL LETTER A WITH DIAERESIS) umwandeln könnte bzw. ggf. auch umgekehrt.

Das Problem ist auch hier im Forum im Zusammenhang mit der Umwandung nach ISO-8859-1 beschrieben worden.

Hintergrund ist folgender: Einige Applikationen / Geräte (z.B. Clementine oder Hifidelio) kommen zwar mit Unicode klar, zeigen aber die zerlegten Zeichen nicht korrekt an bzw. normalisieren nicht selbst und erkennen deshalb z.B. nicht, dass Interpretennamen in unterschiedlicher Kodierungen gleich sind, was zu Duplikaten in Interpretenlisten oder fehlerhaften Sortierreihenfolgen führt.

Unterschiedliche Kodierungen sind leider nicht offensichtlich, da Mp3tag, Windows etc. die Namen alle ordentlich darstellen, das Problem tritt meist erst auf dem Endgerät zu Tage, d.h. der Aufwand zur Beseitigung ist entsprechend größer.

Danke,
Rikoler

In der Zwischenzeit könnte man sich behelfen ...

Beispiel 1:
$regexp('Test digraph ae here.','[[.ae.]]','ä')
==> "Test digraph ä here."

Beispiel 2:
Hmm, hier scheint die Forum Editor Box leider einen Strich durch das Beispiel zu machen ...
irgendwie funktioniert es in der Editor Box nicht, zwei "decomposed" Zeichen zu schreiben, ...
der Editor macht sofort ein Zeichen daraus ... (hat der Editor einen "utf_normalizer"?).

Aber hier in der Forum Post präsentiert sind es dann doch zwei Zeichen.

"U+0041 U+030A" (Latin letter "A" and combining ring above "°")
$replace('Test decomposed Å here','Å','Å')
==> "Test decomposed Å here"

Siehe auch ...
https://en.wikipedia.org/wiki/Precomposed_character
Precomposed characters are the legacy solution for representing many special letters in various character sets. In Unicode they are included primarily to aid computer systems with incomplete Unicode support, where equivalent decomposed characters may render incorrectly.

Obwohl "precomposed" die "veraltete Lösung" ist, so wäre es dennoch prima, ...
wenn Mp3tag eine Lösung für "decomposed to precomposed" von sich aus anbieten würde.

DD.20151229.1755.CET