Hartmut Bernecker: Unicode in Formularfeldern

<p>Hallo zusammen,</p>

<p>anderweitig im Internet konnte ich bisher keine guten Informationen darüber finden, wie HTML-Formulare mit Unicode-Zeichen submitted und ausgewertet werden können.
Vielleicht hat jemand von Euch darin mehr Erfahrung.</p>

<p>Zwar kann ich Unicode-Zeichen im Browser (auch im folgenden: IE5.5 bzw. Netscape 6) darstellen, und zwar auch ohne Zeichenreferenzen wie &#12456; (&#12456;), also mit "echten" Unicode-Zeichen (BTW: die Zeichen stammen aus einer C++ Backend-Anwendung, werden über SOAP an Tomcat (Java) geliefert, werden dort im Framework verarbeitet und über Servlets ausgegeben).</p>

<p>Wunderbar funktioniert die Anzeige solcher Zeichen. Dazu muß nur der HTTP-Header contenttype auf text/html;charset=UTF-8 gesetzt werden. Sinnvoll scheint zudem folgende Header-Angabe im HTML-Dokument:<br>
<meta http-equiv="content-type" content="text/html; charset=utf-8">, wenngleich ich mir nicht ganz über die Bedeutung dieser Angabe im klaren bin ...</p>

Die Probleme tauchen auf, wenn (die dargestellten) Unicodezeichen (mit Cut&Paste) in HTML-Formulare eingetragen werden. Der IE ist aus unerfinglichen Gründen nicht in der Lage, diese Zeichen korrekt darzustellen (Stattdessen kommt so etwas wie ||||| heraus). Anders Netscape 6, hier werden die Zeichen auch im Formularfeld korrekt dargestellt. Beiden Browsern gemeinsam ist, daß beim Submit die ganze Angelegenheit dubios wird. (Der IE submitted übrigens nur, wenn die Meta-Angabe im Header (s.o.) angegeben ist, sonst passiert nämlich überhaupt nichts). Es scheint so, als ob dort UTF-8-kodierte Zeichen an den Server geschickt werden. Ich denke, das ist auch richtig so. Andererseits verstehe ich nicht ganz, was es eigentlich genau mit UTF-8 auf sich hat.</p>

<p>Folgende Fragen:<br>
<ul>
<li>Wie kann der IE dazu bewogen werden, Unicode-Zeichen in HTML-Formularen richtig darzustellen?</li>
<li>Was ist beim Submit von Formularen zu beachten, die Unicode enthalten. Muß hier Servesseitig noch etwas besonderes geleistet werden?</li>
<li>Bedeutet die Verwendung von Unicode eine Verdopplung der zu übertragenden Datenmenge, auch wenn UTF-8 verwendet wird?</li>
</ul>

TIA

  1. sorry, ich dachte, html wird hier interpretiert ...

    1. Grüssi,

      sorry, ich dachte, html wird hier interpretiert ...

      *g* dann wärs ja ziemlich blöd wenn einer hier seine <html>-Probleme posten wollte ;-)

      Zu deiner Frage: view-source:http://www.teamone.de/selfaktuell/forum/?m=135649&t=26001 mit besonderem Augenmerk auf das zweite <form>-Tag

      ---
      User agents may advise the user of the value of the accept-charset attribute and/or restrict the user's ability to enter unrecognized characters.
      ---

      http://www.w3.org/TR/html4/interact/forms.html#h-17.3

      HTH,
      lg bernhard

      PS:

      (BTW: die Zeichen stammen aus einer C++ Backend-Anwendung, werden über SOAP an Tomcat (Java) geliefert, werden dort im Framework verarbeitet und über Servlets ausgegeben)

      wooooow, und ich dachte immer ich pfusche herum wenn ich xml, servlets und php mische ;-)

      1. Danke für die nützliche Info!

        Habe die Sache jetzt soweit im Griff. Was allerdings unschön ist:
        Der IE 5.5 stellt keine Unicode-Zeichen im Formularfeld korrekt dar.

        Hat irgendjemand eine Vorstellung, an was das liegen mag und ob man dieses Verhalten beheben kann?

        TIA
        Hartmut