Simon Klaiber: Zeichencodierung wird in Formularfeldern übersetzt

Ich habe folgendes Problem:

Ich habe ein Formular in das ich HTML Codierten Text eingeben (INPUT type text und TEXTAREA)

In diesen "HTML-Auschnitten" könne sowohl HTML Tags als auch mit < und > codierte Spitze klammern vorkommen.

Wenn ich nun dieses Formular absende landet der Text einwandfrei in meiner Datenbank.

Wenn ich nun jedoch den Text wieder per HTML-Formular editieren will und dazu die gespeicherten Werte in das Value attribute bzw. bei Textarea zwischen die Tags einfüge, werden im Browser alle "&" codierten Zeichen umgewandelt (im Seitenquellcode ist es noch richtig) Wenn ich nun dieses Formular absende schickt der Browser die Codierten Zeichen Dekodiert an den Server und die Codierung ist weg.

Gibt es eine Möglichkeit dem Formular zu sagen, daß er "&" codierte Zeichen nicht umwandeln soll?

  1. Hi,

    schau dir mal den Verlauf dieses Threads an, da wurde glaube ich ein sehr ähnliches Problem behandelt.

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hallo Erstmal danke für die Antwort:

      Um es mit Radio Eriwan zu sagen: Im Prinzip Ja!
      Mit einem replace kann man das natürlich lösen: Das funktioniert prima für Umlaute und so.

      Das eigentliche Problem ist jedoch, das die Eingegebenen HTML-Snippets sowohl < bzw > als auch &gt; bzw &lt; oder sowohl & als &amp; enthalten können.

      In dem Moment wo das ganze konvertiert ist, ist das Kind also schon ins Wasser gefallen und ich kann die beiden nicht mehr auseinander halten.

      Hat noch jemand eine Idee?

      Gruß
      Simon

      Hi,

      schau dir mal den Verlauf dieses Threads an, da wurde glaube ich ein sehr ähnliches Problem behandelt.

      MfG
      Rouven

      1. Hi,

        ich bin mir noch nicht sicher, dass das ein Problem ist...
        Nehmen wir an, alle Sonderzeichen werden vor der Ausgabe ersetzt:

        wird zu &gt;

        &gt; wird zu &amp;gt;
        Es besteht also durchaus ein Unterschied zwischen beiden, wenn ich mich nicht täusche auch bei der Ausgabe in der Textarea. Im ersten Fall müsste da nämlich wieder ein > und im zweiten Fall das &gt; stehen... Oder übersehe ich was?

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
        1. Hi,

          ich bin mir noch nicht sicher, dass das ein Problem ist...
          Nehmen wir an, alle Sonderzeichen werden vor der Ausgabe ersetzt:

          wird zu &gt;
          &gt; wird zu &amp;gt;
          Es besteht also durchaus ein Unterschied zwischen beiden, wenn ich mich nicht täusche auch bei der Ausgabe in der Textarea. Im ersten Fall müsste da nämlich wieder ein > und im zweiten Fall das &gt; stehen... Oder übersehe ich was?

          Das Ersetzen vor der Ausgabe könnte eine Lösung sein. Werde das heute abend mal ausprobieren. Eigentlich genügt es sogar alle & durch &amp; zu ersetzten.

          Sonstige Sonderzeichen ersetzungen (wie umlaute) kann man dan nach dem Absenden ersetzten.

          Ich bin trotzdem der Meinung, daß der Browser, wenn ich ein unverändertes Formular submitte, das absenden sollte was im HTML Quelltext zu sehen ist und nicht irgendwas konvertiertes.

          Danke in jedem Fall!