Bei der Ausgabe einer Zeichenkette in HTML muss man aus verständlichen Gründen Sonderzeichen als HTML-Entities ("&<>" usw.) entschlüsseln.
Ich habe zwei Java-Implementierungen dieses Verfahrens untersucht: org.apache.commons.lang.StringEscapeUtils.escapeHtml(String) net.htmlparser.jericho.CharacterReference.encode(CharSequence)
Beide umgehen alle Zeichen oberhalb des Unicode-Codepunkts 127 (0x7F), d. h. alle nicht-englischen Zeichen.
Dieses Verhalten ist in Ordnung, aber die erzeugten Zeichenketten sind nicht für Menschen lesbar, wenn die Zeichen nicht englisch sind (z. B. in Hebräisch oder Arabisch). Ich habe gesehen, dass Zeichen oberhalb von Unicode 127 in Browsern korrekt wiedergegeben werden, wenn sie nicht auf diese Weise escaped werden - ich glaube, das liegt daran, dass die HTML-Seite UTF-8-kodiert ist und diese Zeichen daher für den Browser verständlich sind.
Meine Frage: Kann ich das Escapen von Unicode-Zeichen oberhalb von Codepunkt 127 beim Escapen von HTML-Entities sicher deaktivieren, sofern meine Webseite UTF-8-kodiert ist?