Om nah hoo pez nyeetz, Sven Rautenberg!
Moin!
In einem HTML-Formular befindet sich ein textarea-Element, dessen Inhalt auch Zeilenumbrüche enthalten dürfen.
Ok.
Der Inhalt wird in einer SQL-Datenbank gespeichert, so dass aus den Zeilenumbrüchen beispielsweise "\r\n" wird.
Nein, nicht IN der DB. Da stehen die Bytes "13" und "10" drin, also die ASCII-Zeichen für den Windows-Zeilenumbruch.
Der Code war unvollständig: nach mysqlrealescape und utf8_decode zeigt mir zumindest phpmyadmin bei sql-Operationen "\r\n" an.
Wenn dieses Formular wieder aufgerufen wird, wird per
echo "foo.value = '" . utf8_encode($bar) . "';";
Im HTML-Kontext fehlt da definitiv das Escaping.
Auch das ist im Original drin.
Textareas füllt man, indem man den Inhalt zwischen öffnendem und schließendem <textarea>-Tag platziert und html-escaped.
JA!eins11
foo.value = 'ein
Zeilenumbruch';
>
> Javascript! Kontextwechsel nicht beachtet!
> > PS: Kontextwechsel sind beachtet
>
> Nein!
Da die Fragestellung selbst einen Kontextwechsel darstellt, ...
Matthias
--
1/z ist kein Blatt Papier.
