Moin!
Hintergrund ist folgender: Ich möchte für eine Webseite anderen Webmastern anbiete, diesen DIV auf deren Seite einzubinden (mittels iFrame und PHP). Für die iFrame-Lösung bietet es sich ja an, das encoding in den iFrame zu schreiben (
<iframe ... encoding="utf-8">
). Aber bei einem include() funktioniert das nicht. Wie mache ich es dort?
Die einzige Chance, universell einbindbaren HTML-Code unabhängig von irgendeinem Encoding zu produzieren, ist durch Verwendung von reinem ASCII-Ending kombiniert mit Entities bzw. numerischen Zeichenreferenzen für sämtliche Zeichen außerhalb von ASCII (also alles mit Unicode-Codepoints größer als 127).
Die numerischen Zeichenreferenzen sind immer der Unicode-Codepoint des jeweiligen Zeichens, und die Entities werden aufgrund der verwendeten DTD in die passenden Zeichen aufgelöst. Beide Verfahrensweisen sind äquivalent nutzbar und kompatibel mit sämtlichen Clients.
In PHP würde sich htmlentities() anbieten - du musst zwingend den Parameter für das Encoding mit angeben, sonst kriegst du Müll, wenn dein String nicht ISO-8859-1 enthält, aber ich würde den Encoding-Parameter grundsätzlich verwenden.
- Sven Rautenberg