Zum Inhalt springen

UTF-8 und HTML-Entities

Erstellt am 19. April 2006 · 3 Antworten · letzte Antwort am 20. April 2006

Tags: Frage

BrunoDesign ·

Hallo an alle,

ich stehe vor folgendem Problem.
Für einen Verein möchte ich eine zweisprachige Website erstellen in deutsch/polnisch. Das Backend wurde auf UTF-8 eingestellt, damit auch alle polnischen Schriften richtig abgespeichert werden. Das Frontend ist auf ISO-8859-1 eingestellt. So weit so gut.
Jetzt habe ich eine Extension selbst entwickelt um deutsche und polnische Projekte in der Jugendarbeit darstellen zu können. Funktioniert ebenfalls so weit.

Der Pagebrowser macht mir zu schaffen. Er soll das ">" Zeichen darstellen. Leider übersetzt Typo3 das Zeichen falsch.
Er codiert nicht "& gt;" sondern "& amp;gt;". Das "&" wird also als Zeichen dargestellt.
Habe schon versucht die locallang.php in eine XML-Datei zu transformieren. Auch in TS habe ich schon direkt reingeschrieben. Habe sowohl mit HTML-Entities und Unicode probiert. Leider ohne Erfolg.

Hatte schon jemand ähnliche Probleme und kann mir helfen?

tandem ·

Hallo,

hast du die MySQL-Datenbank mit einer utf-8-Kollation eingerichtet?
(also: CREATE DATABASE db-name DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci😉
hast du im Installationstool [BE][forceCharset]= utf-8 gesetzt?
hast du im TypoScript-Setup page.config.metaCharset = utf-8 gesetzt?

Im Setup config.linkVars = L
Damit wird der Wert des Sprachparameters automatisch weitergereicht.
Deutsch = Standardsprache UID=0
Polnisch UID=1 (ID müsste in der Tabelle sys_language stehen)

Ins Setup:

config.linkVars = L
config.sys_language_uid = 0
config.metaCharset = iso-8859-1
config.locale_all = de_DE.iso88591
config.language = de

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.metaCharset = iso-für-polnisch
config.locale_all = für-polnisch
config.language = polnisches Kürzel
[global]

BrunoDesign ·

Die Datenbank wurde auf UTF-8 umgestellt.
Backend wurde mit Installationstool auf UTF-8 umgestellt.
Frontend wurde mit Typoscript auf ISO-8859-1 eingestellt, da sonst nur UTF-8-Zeichen dargestellt werden und das Problem zusätzlich immer noch besteht.

Ansonsten habe ich mein System auf deutsch-polnisch richtig eingestellt. Wie gesagt, es funktioniert ja alles bis auf dieses Zeichenproblem. Ich denke, dass Typo3 irgendwo die Zeichen nochmals in HTML-Entities umwandelt. Warum, weiß ich nicht.

Nachtrag: Das Problem tritt in Verbindung mit der locallang.php auf. Hier stehen die später falsch codierten Zeichen drin.

BrunoDesign ·

Problem gelöst.

Der Verursacher des Problems war eine Extension, die, wie ich schon richtig vermutet hatte, eine Umsetzung von Zeichen in HTML-Entities vorgenommen hatte. Die Extension lautet "Enhanced HTML cleaner" (qcom_htmlcleaner). Die Erweiterung säubert den HTML-Quellcode und gibt validen XHTML-Code zurück. Leider remapped die Erweiterung Zeichen oberhalb chr(127) und selbst wenn man die Funktion ausschaltet remapped sie andere Zeichen. Für UTF-8 also unbrauchbar.