Wir haben eine Anwendung, die eine Textzeichenfolge nimmt, die von einem Benutzer in ein Webformular eingegeben und in XML verpackt wird. Um die Dinge ein wenig zu verwirren, wird das XML als Body von Outlook-E-Mail-Nachrichten gesendet.UTF-8 oder ISO-8859-1 in XML
Da die Benutzer fast alles in das Webformular einfügen können (normalerweise aus Word), kann die Textzeichenfolge Nicht-ASCII-Zeichen (7 Bit) enthalten, wie sie für doppelte Anführungszeichen verwendet werden.
Die Zeichenfolge wird intakt per E-Mail übertragen, aber wenn wir den Microsoft XML-Parser verwenden, beschwert sie sich (zu Recht), dass das XML ungültige Zeichen enthält.
Eine schnelle Lösung ist, coding = "iso-8859-1" in den Header zu setzen. Ich frage mich jedoch, ob es besser wäre, die XML-Datei am Anfang in echtes UTF-8-Format zu codieren, da ich Artikel gelesen habe, die besagen, dass es für eine harmonischere Welt besser wäre, wenn jedes XML-Dokument in UTF-8 kodiert wäre ?
Aber ... werden wir Probleme haben, da das XML-Dokument tatsächlich über den Text einer E-Mail-Nachricht übertragen wird? Ich verstehe, dass UTF-8 ist eine Variable Byte-Länge-Kodierung-System Ich nehme an, 7-Bit-ASCII-und Escape-Zeichen verwenden, um anzuzeigen, "es gibt mehr Daten".
Eine weitere Option ist UTF-8, aber ersetzen Sie Nicht-ASCII-Zeichen durch die & #nnn; Format.
Jede Beratung in diesem ziemlich komplizierten Bereich geschätzt.
Prost, Rob.
Eigentlich ist die Idee von & # nicht gut - während das Dokument korrekt geöffnet wird, wird es nicht korrekt im IE angezeigt. Die offenen/geschlossenen Anführungszeichen werden als Block angezeigt. –
Der "Block" zeigt an, dass für die Schriftart, die verwendet wird, keine Glyphe zum Anzeigen des Zeichens verfügbar ist. – andynormancx
ISO 8859-1 hat diese "intelligenten" Anführungszeichen nicht. Was also passieren wird, ist, dass die Bytes, die diese intelligenten Anführungszeichen darstellen, als zufällige andere ISO-8859-1-Zeichen enden, z. "quoted text". UTF-8 ist sicher. – MSalters