Fehldarstellung des Eurozeichens in HTML/txt Containern

Gesperrt
Midimann
Beiträge: 4
Registriert: Mo 3. Feb 2003, 19:10
Wohnort: Essen
Kontaktdaten:

Fehldarstellung des Eurozeichens in HTML/txt Containern

Beitrag von Midimann » Mo 3. Feb 2003, 19:43

Hallo liebe Contenido-Freunde.
Ich bin neu in diesem Forum und begeistert vom Contenido.
Großes Lob, an alle die dazu beigetragen haben.

Bei der Erstellung einer Website ist ein Problem aufgetaucht, daß ich selbst nicht lösen kann.
Wenn ich in einen Html/text Container das Eurozeichen eingebe, wird es im Wysiwyg-Editor richtig angezeigt, nach speicherung allerdings durch eine wirre Darstellung ersetzt.
Gebe ich das Eurozeichen in der HTML-Darstellung als HTML-Tag ein und speichere es, ist die Darstellung korrekt.
Sobald dann wieder im Wysiwyg-Editor irgendeine Änderung am Text vorgenommen wird, wir das Eurozeichen wieder falsch Dargestellt.
Weiß jemand was ich dagegen tun kann.
Gruß
Detlef M.

peter
Beiträge: 42
Registriert: Do 19. Sep 2002, 19:07
Wohnort: berlin
Kontaktdaten:

Re: Fehldarstellung des Eurozeichens in HTML/txt Containern

Beitrag von peter » Sa 5. Apr 2003, 08:33

Hi Detlev,

manchmal dauert es ein wenig, bis man Antwort bekommt ;-)

Na ja:
also: der Editor stellt sämtliche HTML4-Sonderzeichen nicht richtig dar, wenn er sie selbst übersetzen muß.
Um das zu lösen, habe ich eine Datei umgeschrieben:
contenido/tpl/tplInputField_CMS_HTML.inc.php

dort fügst du das folgende am Anfang der Datei ein:

Code: Alles auswählen


function sonderzeichen($HTML){

   $HTML = ereg_replace("%u0391","Α",$HTML);
   $HTML = ereg_replace("%u03B1","α",$HTML);
   $HTML = ereg_replace("%u03B2","β",$HTML);
   $HTML = ereg_replace("%u0392","Β",$HTML);
   $HTML = ereg_replace("%u0393","Γ",$HTML);
   $HTML = ereg_replace("%u03B3","γ",$HTML);
   $HTML = ereg_replace("%u0394","Δ",$HTML);
   $HTML = ereg_replace("%u03B4","δ",$HTML);
   $HTML = ereg_replace("%u0395","Ε",$HTML);
   $HTML = ereg_replace("%u03B5","ε",$HTML);
   $HTML = ereg_replace("%u0396","Ζ",$HTML);
   $HTML = ereg_replace("%u03B6","ζ",$HTML);
   $HTML = ereg_replace("%u0397","Η",$HTML);
   $HTML = ereg_replace("%u03B7","η",$HTML);
   $HTML = ereg_replace("%u0398","Θ",$HTML);
   $HTML = ereg_replace("%u03B8","θ",$HTML);
   $HTML = ereg_replace("%u0399","Ι",$HTML);
   $HTML = ereg_replace("%u03B9","ι",$HTML);
   $HTML = ereg_replace("%u039A","Κ",$HTML);
   $HTML = ereg_replace("%u03BA","κ",$HTML);
   $HTML = ereg_replace("%u039B","Λ",$HTML);
   $HTML = ereg_replace("%u03BB","λ",$HTML);
   $HTML = ereg_replace("%u039C","Μ",$HTML);
   $HTML = ereg_replace("%u03BC","μ",$HTML);
   $HTML = ereg_replace("%u039D","Ν",$HTML);
   $HTML = ereg_replace("%u03BD","ν",$HTML);
   $HTML = ereg_replace("%u039E","Ξ",$HTML);
   $HTML = ereg_replace("%u03BE","ξ",$HTML);
   $HTML = ereg_replace("%u039F","Ο",$HTML);
   $HTML = ereg_replace("%u03BF","ο",$HTML);
   $HTML = ereg_replace("%u03A0","Π",$HTML);
   $HTML = ereg_replace("%u03C0","π",$HTML);
   $HTML = ereg_replace("%u03A1","Ρ",$HTML);
   $HTML = ereg_replace("%u03C1","ρ",$HTML);
   $HTML = ereg_replace("%u03C2","ς",$HTML);
   $HTML = ereg_replace("%u03A3","Σ",$HTML);
   $HTML = ereg_replace("%u03C3","σ",$HTML);
   $HTML = ereg_replace("%u03A4","Τ",$HTML);
   $HTML = ereg_replace("%u03C4","Τ",$HTML);
   $HTML = ereg_replace("%u03A5","Υ",$HTML);
   $HTML = ereg_replace("%u03C5","υ",$HTML);
   $HTML = ereg_replace("%u03A6","Φ",$HTML);
   $HTML = ereg_replace("%u03C6","φ",$HTML);
   $HTML = ereg_replace("%u03A7","Χ",$HTML);
   $HTML = ereg_replace("%u03C7","χ",$HTML);
   $HTML = ereg_replace("%u03A8","Ψ",$HTML);
   $HTML = ereg_replace("%u03C8","ψ",$HTML);
   $HTML = ereg_replace("%u03A9","Ω",$HTML);
   $HTML = ereg_replace("%u03C9","ω",$HTML);
   $HTML = ereg_replace("%u03D1","ϑ",$HTML);
   $HTML = ereg_replace("%u03D2","ϒ",$HTML);
   $HTML = ereg_replace("%u03D6","ϖ",$HTML);
   $HTML = ereg_replace("%u2202","∂",$HTML);
   $HTML = ereg_replace("%u220F","∏",$HTML);
   $HTML = ereg_replace("%u2211","∑",$HTML);
   $HTML = ereg_replace("%u221A","√",$HTML);
   $HTML = ereg_replace("%u221E","∞",$HTML);
   $HTML = ereg_replace("%u2229","∩",$HTML);
   $HTML = ereg_replace("%u222B","∫",$HTML);
   $HTML = ereg_replace("%u2248","≈",$HTML);
   $HTML = ereg_replace("%u2260","≠",$HTML);
   $HTML = ereg_replace("%u2261","≡",$HTML);
   $HTML = ereg_replace("%u2264","≤",$HTML);
   $HTML = ereg_replace("%u2265","≥",$HTML);
   $HTML = ereg_replace("%u20AC","€",$HTML);
   $HTML = ereg_replace("%u2030","‰",$HTML);
   $HTML = ereg_replace("%u2013","–",$HTML);
   $HTML = ereg_replace("%u2014","—",$HTML);
   $HTML = ereg_replace("%u2018","‘",$HTML);
   $HTML = ereg_replace("%u2019","’",$HTML);
   $HTML = ereg_replace("%u201A","‚",$HTML);
   $HTML = ereg_replace("%u201C","“",$HTML);
   $HTML = ereg_replace("%u201D","”",$HTML);
   $HTML = ereg_replace("%u201E","„",$HTML);
   $HTML = ereg_replace("%u2122","™",$HTML);
   $HTML = ereg_replace("%u2190","←",$HTML);
   $HTML = ereg_replace("%u2191","↑",$HTML);
   $HTML = ereg_replace("%u2192","→",$HTML);
   $HTML = ereg_replace("%u2193","↓",$HTML);
   $HTML = ereg_replace("%u2194","↔",$HTML);

  # echo $HTML;
   return $HTML;

}
-------------------------------------------------
und den Code, der schon vorhanden ist (ursprünglich am Anfang der Datei), fügst du den Aufruf für diese Hilfsfunktion ein, so dass nachher folgendes dasteht:

---------------

Code: Alles auswählen

if ($submit == "editcontent") {
         # $CMS_HTML  enthält den Inhalt des Editierfeldes
        $CMS_HTML=sonderzeichen($CMS_HTML);
        consaveContentEntry($idsidelang, "CMS_HTML", $typenr, $CMS_HTML);
        conGenerateCodeForSideInAllCategories($idside);
        Header("Location:".$sess->url("front_content_edit.inc.php?area=$tmp_area&idside=$idside&idcat=$idcat&lang=$lang")."");
}
-----------

So, das ist zwar eine etwas abenteuerliche Lösung, aber funktioniert ;-)

gruß
peter

Midimann
Beiträge: 4
Registriert: Mo 3. Feb 2003, 19:10
Wohnort: Essen
Kontaktdaten:

Strike!! It Works.

Beitrag von Midimann » Mo 7. Apr 2003, 14:02

:D
Jubel. Es funktioniert.
Ob nun abenteuerlich, oder nicht.
Das Ergebnis zählt. :wink:
Vielen Dank Peter.
Habe es sogleich umgesetzt.
*tiefe Verneigung vor dem Meister*

Gesperrt