Seite 1 von 1

Fehldarstellung des Eurozeichen im Wysiwyg-Editor

Verfasst: Mo 10. Feb 2003, 14:26
von Midimann
Nochmal an alle.
Ich weiß nicht, ob meine Frage so blöd ist, oder ich der einzigste bin, der dieses Problem hat.
€ wird nicht mir im Wysiwyg-Editor zwar angezeigt, aber sobald ich es dann wegschreibe durch %u20AC ersetzt.
Kann mir jemand helfen, dieses Problem zu lösen???
Gruß
Detlef M.

Keine Hilfe, nur Trost..

Verfasst: Di 11. Feb 2003, 14:35
von enduser
Hi,

mir geht's genauso, aber ich bin ja hier auch bekannt für die trivialen Fragen..

Vielleicht spornt diese Ansammlung hilfloser Gesellen die üblichen Verdächtigen ja an, eine Antwort zu geben..

Gott Sei Dank

Verfasst: Di 11. Feb 2003, 15:43
von Midimann
Ich habe schon gedacht, alle lägen jetzt in den Stühlen und schlagen sich auf die Schenkel, weil mein Frage so blöd ist.
Dann habe ich jemanden, der mitleidet. :-)
Habe mir einige Postings zum Thema Wysiwyg angesehen.
Leider nichts gefunden, daß mein Problem löst.
GURU's dieser Welt erhöret mich.

Verfasst: Fr 14. Feb 2003, 01:33
von LarsS
me <-- have the same problem ... ;)

Verfasst: Fr 14. Feb 2003, 14:16
von braendle
Hui,

kleines Problem ... simple Lösung? Nein, also das Problem ist wohl die Umwandlung des Unicode-Zeichens für den Euro € in eine URL-verträgliche Variante, nämlich: %u2043.

Das PHP-Script, das die Daten in die DB schriebt sollte dies eigentlich abfangen und in eine entsprechende HTML-Entität, z.B. &#8364; umwandeln. Soweit die Erklärung für das Problem ...
Die Umwandlung funzt wohl nicht oder fehlt. :(

Werde mir die Sache in den nächsten Tagen ansehen und 'ne Abhilfe rausfiltern ... aber bitte nicht drängeln :)

Vielleicht ist ja ein Kollege schneller ...
enduser wrote: ... mir geht's genauso, aber ich bin ja hier auch bekannt für die trivialen Fragen..
Trivial ist was anderes ... mein Hunger im Vergleich zum Füllstand des Kühlschranks :oops:

Gruß

Verfasst: Sa 15. Feb 2003, 01:01
von braendle
Also so einfach hatte ich es nicht erwartet ... folgender Code muß die Funktion 'consaveContentEntry' in der Datei fnc_con.inc.php eingebaut werden:

Code: Alles auswählen

preg_match_all ("/\%u([0-9A-F]{1,4})/i", $value, $matches);
for ($i=0; $i< count($matches[0]); $i++) {
   eval( '$replace = 0x' . substr($matches[0][$i], -4, 4) . ';' );
   $value = preg_replace ( '/\\'.$matches[0][$i].'/i', "&#".$replace.";", $value);
}

Diese Zeilen wandeln alle Unicode-Zeichen in HTML-Entitäten um.
Die Position des Einbaus ist Zeile 287, direkt vor dem Aufruf von

Code: Alles auswählen

set_magic_quotes_gpc($value);
Bei mir wurden die Euro-Symbole danach korrekt im Editor und in der Seite angezeigt :D

Hoffe Ihr kommt damit klar ... bitte Rückmeldung, damit es dann in den Bugtracker geschoben werden kann.

Verfasst: Sa 15. Feb 2003, 16:12
von LarsS
:D

danke dir jürgen, deine lösung funktioniert einwandfrei !
das € zeichen wird nun richtig dargestellt.

allerdings ist bei mir der string

Code: Alles auswählen

set_magic_quotes_gpc($value);
in zeile 578 zu finden. ;)

Verfasst: Sa 15. Feb 2003, 17:30
von Björn
ok, damit verschieb ichs mal in den Bugtracker...

Verfasst: So 16. Feb 2003, 14:57
von braendle
LarsS wrote
allerdings ist bei mir der string Code:
set_magic_quotes_gpc($value);
in zeile 578 zu finden.
Solange es in der Funktion 'consaveContentEntry' ist die Stelle davor richtig.