Hi!
Gibt es denn eine Notwendigkeit oder Vorteile htmlentities() zu verwenden im Gegensatz zum "plain" htmlspecialchars() da ja sonst alles zu gehen scheint momentan?
Mit UTF-8 gibt es diese Notwendigkeit nicht. Alle Zeichen können direkt kodiert werden (Ausnahme bilden die Zeichen, um die sich htmlspecialchars() kümmert). Entities oder NCRs benötigt man nur, wenn Zeichen nicht direkt kodiert werden können, beispielsweise das €-Zeichen in ISO-8859-1. 1-Byte-Kodierungen bringen jedoch Probleme mit sich, wenn Browser eingegebene Daten an den Webserver senden wollen. Was sollen sie aus dem € machen? Es ist in keiner Spezifikation festgelegt, wie dann zu verfahren ist (für HTML5 weiß ich das nicht). Manche Browser senden dann ein € (oder dessen NCR). Wie aber soll man auf Serverseite erkennen, ob jemand ein € oder € eingegeben hat, zumal ein eingetipptes & direkt als solches und nicht ebenfalls entitysiert/ncr-isiert wird? Das sind Probleme, die man nicht haben will, und die mit UTF-8 schlichtweg nicht auftreten.
Lo!