Heho,

I have a problem with the QXmlStreamWriter class. When using UTF-16 encoding garbage characters will appear in my XML document.

Qt Code:
  1. QXmlStreamWriter xml;
  2. xml.setDevice(&file);
  3. // here is the problem
  4. xml.setCodec(QTextCodec::codecForName("utf16"));
  5. xml.setAutoFormatting(true);
  6. xml.setAutoFormattingIndent(2);
  7.  
  8. xml.writeStartDocument();
  9.  
  10. xml.writeDTD("<!DOCTYPE backup>");
  11. xml.writeStartElement("Backup");
  12. xml.writeAttribute("version", "1.0");
  13.  
  14. xml.writeStartElement("Task");
  15. xml.writeAttribute("name", "MyName");
  16. xml.writeTextElement("Description", "My short description");
  17. xml.writeEndElement(); // Task
  18.  
  19. xml.writeEndElement();
  20. xml.writeEndDocument();
To copy to clipboard, switch view to plain text mode 

Output:
Qt Code:
  1. <?xml version="1.0" encoding="UTF-16"?>਍㰀℀䐀伀䌀吀夀倀䔀 戀愀挀欀甀瀀㸀ഀ
  2. <Backup version="1.0">਍  㰀吀愀猀欀 渀愀洀攀㴀∀䴀礀 昀椀爀猀琀 戀愀挀欀甀瀀∀㸀ഀ
  3. <Description>My short description</Description>਍    㰀䔀渀愀戀氀攀搀㸀琀爀甀攀㰀⼀䔀渀愀戀氀攀搀㸀ഀ
  4. etc....
To copy to clipboard, switch view to plain text mode 

Do you have any idea? Thank you very much for your help.

Best regards,


Loco