Der Martin: UTF8 - Sonderzeichenformatierung

Beitrag lesen

Hallo,

Verstümmelst du deine Eingabedaten etwa gleich am Scriptanfang mit htmlentities()? Wenn ja, wozu?
Wie ich hier im Forum gelernt habe, traut man keiner Nutzereingabe

ja, dieser Gedanke ist absolut richtig.

und um mich vor XSS zu schützten nutze ich htmlentities.

Das ist die falsche Funktion an der falschen Stelle.
1. htmlentities() sollte, wenn überhaupt, dort angewendet werden, wo Daten *in* den HTML-Kontext überführt werden, also bei den Ausgabedaten des Scripts. Für die Überführung in andere Kontexte (z.B. SQL, URL) gibt es andere Spezialfunktionen.
2. Dort wo die Funktion sinnvoll wäre, sollte man basser htmlspecialchars() verwenden. Das codiert nämlich nur die Zeichen, bei denen es nötig ist und lässt alle anderen Zeichen in Ruhe.

Ohne wäre der Buchsatabe "c39c"

Das wäre die korrekte Repräsentation des Buchstaben Ü in UTF-8.

So long,
 Martin

--
Niemand lebt allein von seinen Träumen.
Aber wer träumt, lebt noch.