Sven Rautenberg: Alle komischen Zeichen finden

Beitrag lesen

Moin!

Wenn man davon ausgehen kann, dass Du nicht verschiedene Kodierungen innerhalb eines Strings benutzt hast (mit ziemlicher Sicherheit, denn sonst wäre der ganze String unbrauchbar), müsstest Du utf-8-Strings mit folgendem PCRE-Muster erkennen können:

Mit dem regulären Ausdruck erkennt man, ob der String gültiges UTF-8 ist, oder nicht. Aber man erkennt nicht, ob nicht zufällig eine andere Codierung (z.B. ISO-8859-1) so dumm angeordnet ist, dass es auch gültiges UTF-8 ist, aber deswegen ein Zeichen codiert wird, was im Endeffekt als Kästchen oder Fragezeichen wieder herauskommt.

Mit anderen Worten: Damit werden nur die Stellen gefunden, die im Sinne von UTF-8 böse sind, aber nicht die Stellen, die im Sinne von UTF-8 absolut in Ordnung sind, aber aus Textsicht fehlerhaft.

- Sven Rautenberg