Moin!
Mein Problem ist jetzt in PHP, dies korrekt am Bildschirm wieder auszugeben, so daß aus köln dann köln wird.
Diese Aufgabe ist mit dieser Funktion nicht wirklich lösbar. Grund ist die Unentscheidbarkeit, welche Zeichencodierung denn tatsächlich vorliegt.
Der überwiegende Teil (ob es wirklich _alle_ sind, habe ich nicht geprüft) der Zeichencodierungen von UTF-8 sind nämlich auch gültige Zeichencodierungen in fast allen anderen Codierungsschemata. Das zeigt sich ja schon daran, dass die scheinbar "fehlerhaften" Worte ja darstellbar sind:
köln = k - Atilde - PI - l - n
Nur würde man natürlich vermuten, dass "köln" gemeint war - ein Computer kann aber nicht vermuten, er kann nur wissen oder nicht wissen. Und wenn keine Zeichencodierung angegeben ist, kann man eben nicht entscheiden, was benutzt wurde, wenn keine eindeutigen Hinweise existieren (z.B. durch Zeichen, die nur in einer von zwei möglichen Zeichencodierungen vorkommen).
- Sven Rautenberg