Hartmut Bernecker: Unicode in Formularfeldern

Beitrag lesen

<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