[Qt-interest] Have QXmlStreameWriter write the encoding information
Andreas Pakulat
apaku at gmx.de
Wed Jun 3 09:06:59 CEST 2009
On 02.06.09 23:01:37, Lingfa Yang wrote:
> Marc Balmer wrote:
> > Am 29.05.2009 um 16:13 schrieb Marc Balmer:
> >
> >
> >> Am 29.05.2009 um 15:40 schrieb Andreas Pakulat:
> >>
> >>
> >>> On 29.05.09 14:19:57, Marc Balmer wrote:
> >>>
> >>>> Am 29.05.2009 um 14:16 schrieb Marc Balmer:
> >>>>
> >>>>
> >>>>> Hi
> >>>>>
> >>>>> When I create a XML data stream using QXmlStreamWriter, my stream
> >>>>> starts with
> >>>>>
> >>>>> <?xml version="1.0"?>
> >>>>>
> >>>>> How can I add the encoding information, so that I get
> >>>>>
> >>>>> <?xml version="1.0" encoding="UTF-8"?>
> >>>>>
> >>>>>
> >>>> I forgot to add my code, so here is the snippet:
> >>>>
> >>>> QXmlStreamWriter xml(&xmlData);
> >>>> xml.setAutoFormatting(true);
> >>>> xml.setCodec("UTF-8");
> >>>> xml.writeStartDocument();
> >>>>
> >>>> xml.writeStartDocument() does not output the encoding information.
> >>>>
> >>> Did you try with a different encoding? The reason it doesn't write
> >>> the
> >>> encoding out could be that XML standard demands utf-8 to be used
> >>> during
> >>> parsing if no encoding attribute is set. Hence the xml writer just
> >>> avoids
> >>> "stating the obvious".
> >>>
> >> that is not true. If I set the codec to ISO-8859-1 and output Latin1
> >> data, it still
> >> does not write the encoding.
> >>
> >
> > Soe does anyone on this list have an idea how I can get the encoding
> > information to be written? Or is it time to file a bug report?
> >
> What you want is a processing instruction line, so you should call
> writeProcessingInstruction(), i.e.
> xml.writeProcessingInstruction("xml", "version=\"1.0\"
> encoding=\"UTF-8\"");
That will produce
<?xml version="1.0"?><?xml version="1.0" encoding="UTF-8"?>
so definetly not what he wants.
If you're writing into a QString there's simply no point in adding an
encoding, because the encoding is dictated by QString.
Andreas
--
Good night to spend with family, but avoid arguments with your mate's
new lover.
More information about the Qt-interest-old
mailing list