Hallo!
Ich benutze die Funktionen aus der MSXML6.DLL. Das funktioniert auch alles ganz, bis auf die deutschen Umlaute bzw. Sonderzeichen.
Beispiel-Code:
Delphi-Quellcode:
Procedure TFormMain.AddPickTicketTextXML(PickTicketText : TImportPickTicketText; LfdNr : Integer;
LK : String; Blank : Boolean = False);
Var
sub : IXMLDOMNode;
Begin
PickticketHdrInstruction := xmlDoc.createElement('PickticketHdrInstruction');
PickticketInstrFields := xmlDoc.createElement('PickticketInstrFields');
:
:
sub := xmlDoc.createElement('SpclInstrDesc');
sub.text := PickTicketText.Text;
PickticketInstrFields.appendChild(sub);
:
:
PickticketHdrInstruction.appendChild(PickticketInstrFields);
ListOfHdrInstructions.appendChild(PickticketHdrInstruction);
End;
In der
XML-Datei sieht das dann so aus:
Zitat:
<PickticketInstrFields>
:
:
<SpclInstrDesc>Bitte denken Sie bitte zuk#194;nftig
daran</SpclInstrDesc>
:
:
</PickticketInstrFields>
(zwischen
zuk und
#194 kommt natürlich noch ein kaufmännisches "und", der zeigt das ursprünglich hier nicht an...)
Hier sieht man, dass aus dem ü von zukünftig eine Escape Sequenz gemacht hat. Der IE zeigt da nur ein Kästchen an.
Benutze ich unter
Delphi die Funktion UTF8Encode, dann wandelt er aus allen UTF-8 Zeichen auch Escape Sequenzen. Das geht
gar nicht .
Wie kann ich denn die Umwandlung in diese Sequenzen ausschalten, so dass er den reinen UTF-8 Code schreibt und der IE
das auch richtig anzeigt?
Gruß,
Stephan