|
|
Die Buchstaben des XML Dokumentes können in den unterschiedlichen Formaten kodiert werden. Durch Rückstellung benutzt XML den Unicode (UTF-8 oder UTF-16) Zeichensatz, aber andere kodierungen können verwendet werden, wenn sie in der XML Erklärung am Anfang des Dokumentes erklärt werden.
|
Wegen des kodierenproblems kannst du unterschiedliche Störungen erhalten, wenn du versuchst, ein XML Dokument in Internet Explorer zu laden:
|
„Von der gegenwärtigen kodierung zur spezifizierten nicht gestützten kodierung schalten.“
|
Solche Art Störung erzeugen wegen der Unbeständigkeit zwischen der Buchstabe kodierung, die in der XML Erklärung spezifiziert werden und der tatsächlichen Buchstabe kodierung, die serialize das XML Dokument verwendet wird. In XML kommen alle Buchstaben vom Universalzeichensatz (UCS), der immer einen numerischen Kennzahlpunkt mit jedem Buchstaben verbindet. Viele Algorithmen bestehen für umwandelnde Kennzahlpunkte in eine Reihenfolge von Bytes. Eine spezifische Buchstabe kodierung muß serialize verwendet werden ein XML Dokument. Z.B. wenn du ein XML Dokument in Notizblock und außer ihm schreibst, kannst du von einem von mehreren gestützte Buchstabe kodierungen einschließlich ISO-8859-1, UTF-8 oder UTF-16 wählen. Entsprechend der XML 1.0 Spezifikation werden alle Prozessoren angefordert, die kodierungen UTF-8 und UTF-16 automatisch zu ermitteln und zu stützen. Du benötigst nicht eine XML Erklärung, wenn du eine dieser zwei kodierungen verwendest, wenn deine Dokumente serializing,
|
<?xml version="1.0" encoding="UTF-8"?> <!-- optional -->
|
Wenn du unterschiedliche kodierung anders als UTF-8/UTF-16 verwendest, dann mußt du eine XML Erklärung verwenden, um die tatsächliche verwendete kodierung zu spezifizieren. Ohne zu wissen was kodierung wirklich verwendet wurde, wie können, las der Prozessor die kodiereninformationen?
Es ist einfach für Prozessoren, zwischen UTF-8/UTF-16 eine XML Erklärung mit oder ohne auto-detect, indem man nach einer Byteauftrag Markierung (BOM) erfordert in den Dokumenten UTF-16 sucht. Für alle weiteren kodierungen weißt du, daß die ersten fünf Buchstaben sein müssen „<? xml“. Da ein gegebener Prozessor nur einen begrenzten Satz kodierungen stützt, kann ein Gewaltalgorithmus verwendet werden, der einfach die ersten Bytes betrachtet, um die Familie der Buchstabe kodierung festzustellen, die verwendet wird (es gibt fünf mögliche kodierenfamilien einschließlich UTF-16 grosses endian, endian UTF-16 wenig, UCS-4 oder andere kodierung mit 32 Bits, EBCDIC und alles sonst). Sobald der Prozessor die kodierenfamilie ermittelt, kann sie den Rest der XML Erklärung (da nur ein eingeschränkter Satz Buchstaben in der XML Erklärung benutzt werden kann), dann es lesen kann zum Verwenden der spezifizierten Buchstabe kodierung innerhalb der ermittelten Familie schalten. Wenn, an diesem Punkt, die XML Erklärung dem Prozessor erklärt, zu einer kodierung von einer vollständig anderen Familie zu schalten, daß Störung auftritt. So, immer wenn du ein Dokument mit einer spezifischen kodierung speicherst, dann eine andere kodierung in der XML Erklärung, du anzeigen erhält diese Störung, weil die kodierungen zustimmen müssen.
|
Ein unzulässiger Buchstabe wurde im Textinhalt gefunden.
|
Diese Fehlermeldung erzeugen, wann ein Buchstabe im XML Dokument nicht das kodierung Attribut zusammenbringt und kein jedes mögliches kodierung Attribut spezifiziert wurde. Normalerweise erhältst du diese Fehlermeldung, wenn dein XML Dokument „fremde“ Buchstaben enthält und die Akte mit einem Einzelnbyte kodierenherausgeber wie Notizblock gespeichert wurde.
|
Windows 2000notizblock, ohne zu kodieren
|
Windows- 2000notizblockakten können als Unicode Format speichern.
|
Außer der XML Akte unten als Unicode (Land, daß das Dokument kein kodierung Attribut) enthält:
|
<?xml version="1.0"?>
<Country>
<from>India</from>
<to>China</to>
</Country>
|
Die Akte oben erzeugt NICHT eine Störung in IE 5+, Firefox oder Oper, aber sie erzeugt eine Störung in Netscape 6.2.
|
Windows 2000notizblock mit der Kodierung
|
Die Windows 2000notizblockakten, die als Unicode gespeichert werden, verwenden kodierenformat „UTF-16“.
Wenn du ein kodierung Attribut den XML Akten hinzufügst, die als Unicode gespeichert werden, erzeugen die Fenster, die Werte kodieren, eine Störung.
|
Die folgende kodierung erzeugt nicht Fehlermeldung:
|
<?xml version="1.0" encoding="windows-1252" ?>
<!-- Edited with XML Spy v2006 (http://www.altova.com)
-->
-<Country>
<to>China</to>
<from>India</from>
<heading>remind language</heading>
<body>Norwegian: æøå. French: êèé</body>
</Country>
|
Die folgende kodierung erzeugt nicht Fehlermeldung:
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Edited with XML Spy v2006 (http://www.altova.com)
-->
-<Country>
<to>China</to>
<from>India</from>
<heading>remind language</heading>
<body>Norwegian: æøå. French: êèé</body>
</Country>
|
Die folgende kodierung erzeugt nicht Fehlermeldung:
|
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Edited with XML Spy v2006 (http://www.altova.com)
-->
-<Country>
<to>China</to>
<from>India</from>
<heading>remind language</heading>
<body>Norwegian: æøå. French: êèé</body>
</Country>
|
> erzeugt die folgende kodierung NICHT eine Störung in IE 5+, Firefox oder Oper, aber in Netscape 6.2 erzeugt sie eine Störung.
|
<?xml version="1.0" encoding="UTF-16" ?>
<!-- Edited with XML Spy v2006 (http://www.altova.com)
-->
-<Country>
<to>China</to>
<from>India</from>
<heading>remind language</heading>
<body>Norwegian: æøå. French: êèé</body>
</Country>
|
Keywords:
xml document, xml parser, xml schema, xml declaration,
xml-encoding,
xsl encoding,
xml encoding,
xml encode,
xml unicode encoding,
xslt encoding,
xml charset,
xml base64,
xml encoding declaration,
xml encoding utf 8,
xml encoding iso 8859 1,
java xml encoding,
xml iso 8859 1,
xml character encoding,
xml iso 8859,
xml encoding iso 8859,
xml encoding utf,
xml encoding iso,
xml encoded,
xml version 1.0 encoding utf 8,
xml version 1.0 encoding,
xml version 1.0 encoding iso 8859 1,
javax xml rpc encoding,
xml version 1.0 encoding utf 16.
|