[Interest] QDateTime + QXmlStreamWriter on non-UTF8 compatible systems
Thiago Macieira
thiago.macieira at intel.com
Fri Dec 22 13:09:46 CET 2017
On quinta-feira, 21 de dezembro de 2017 20:49:33 -02 Scott Bloom wrote:
> When using the QXmlStreamWriter to write out an XML file, where one of the
> sections is a DateTime Field, and the system is non-UTF8 (Japanese in my
> customer case) the XML generated via
>
> writer.writeCharacters( dateTime.toString() )
>
> Produces XML that cant be read in via QXmlStreamReader
What is your Writer writing to?
If it's a QIODevice or QByteArray, then it does this:
QByteArray bytes = encoder->fromUnicode(s);
device->write(bytes)
If it's a string, it does:
stringDevice->append(s);
(this is after escaping)
What is the XML it generates? We need to isolate the problem either in the
Writer or in the Reader.
> Now, I am guessing, that I have to setup the writer with the proper codec
> via writer.setCodec( )
No need, as the default is UTF-8.
> How do I get the proper codec that will actually be needed to generate
> proper XML?
Ask for the codec for "UTF-8". Which is what QXmlStreamWriter is already
doing.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list