special chars in XML-file / Delphi XE2


I have a TXmlDocument-Component and write an XML-file in D7.
First line is
<?xml version="1.0" encoding="UTF-8" ?>

Open in new window

Writing a text with the german char "ä" it writes two characters 0xC3 and 0xA4

Reading this file again with TXmlDocument it reads 'ä' --> correct.

But when I have the same code in D XE2 it writes only one character 0xE4. Reading it with the application written in D7 it gets an error "invalid character". How have I to decode/code it to have the same result as with D7?

Thanks, Peter
Who is Participating?
Sinisa VukConnect With a Mentor Commented:
define s as AnsiString
Sinisa VukCommented:
because xe2 is unicode - you must prepare xml text for sending with Utf8Encode function:

sText := Utf8Encode(sText);

Open in new window

formiAuthor Commented:
I tried it - with no succes. Here is my code:
          s :=  UTF8Encode(aQ.FieldByName(cFieldNames[i]).AsString);
          vN2.NodeValue := s;

Open in new window

s is a string.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.