Thomas Schenkeli: UTF-8 Turnaround mit XML- und XSL-Files

Beitrag lesen

Hallo,

ich arbeite gerade dann eine Web-Applikation auf UTF-8 umzustellen. Für POST-Requeste funktioniert das Ganze auch schon ganz gut, nur bei GET-Requesten mangelt es noch.

Meine Frage lauten daher:

  1. Genau welche Zeichen sollen bei einem GET-Request abgeschickt werden?
  2. Genau welche Zeichenkette soll in einem XML zur Interpretation per XSL von der Datenbank zurück kommen?

Erklärung des ganzen: Nehmen wir das €-Zeichen, die UTF-8 Codierung hierfür lautet %E2%82%AC

zu 1) Wenn ich nun aus einem InputFeld ein €-Zeichen auslese und per GET-Request verschicken möchte, was soll dann genau in dem GET-Request stehen:
a) €
b) %E2%82%AC
c) %25E2%2582%25AC (Codierung der %-Zeichen)
d) ? (Ganz was anderes woran ich gar nicht denke)

zu 2) Ich bekomme aus der Datenbank in einem XML-File ein UTF-8 Zeichen, wie soll dieses aussehen:
a) <![CDATA[ € ]]>
b) <![CDATA[ %E2%82%AC ]]>
c) <![CDATA[ %25E2%2582%25AC ]]> (Codierung der %-Zeichen)
d) <![CDATA[ ? ]]> (Ein Fragezeichen weil in XML-Files keine UTF-8 Zeichen dargestellt werden können)
e) ? (Ganz was anderes woran ich gar nicht denke)

Was habe ich bisher schon gemacht?

  1. XSL-Files beginnen mit <?xml version="1.0" encoding="UTF-8"?>
  2. XSL-Files enthalten: <xsl:output encoding="UTF-8" [....] />
  3. XSL-Files enthalten: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> als Teil des HTML-Head-Tags

Damit hätte ich gedacht sage ich der Seite sie soll alles in UTF-8 Abschicken und alles empfangene als UTF-8 interpretieren. Im Moment ist es aber leider so, dass ein €-Zeichen als "%E2%82%AC" abgeschickt wird und auf der nächsten Seite werden drei einzene kryptische Zeichen dargestellt, heisst das Tripplet wird einzeln und nicht als Ganzes interpretiert.

Was mach ich falsch?

Danke für eure Hilfe und lg

Thomas