C++ (Qt) ... xml.setCodec("Windows-1251"); xml.setAutoFormatting(true); xml.writeStartDocument(); ...
QString outXml; QXmlStreamWriter writer(&outXml);
QByteArray outXml; QXmlStreamWriter writer(&outXml);
<?xml version="1.0" encoding="UTF-8"?><ED Acc="11111��1111111111111"/>
<?xml version="1.0" encoding="UTF-8"?><ED Acc="11111�?�?1111111111111"/>
Acc="11111ИИ1111111111111"
QTextCodec *cp1251 = QTextCodec::codecForName("windows-1251"); QTextCodec::setCodecForTr(cp1251); QTextCodec::setCodecForLocale(cp1251); QTextCodec::setCodecForCStrings(cp1251); QTextStream stream(&file); stream.setAutoDetectUnicode(false); QString text=stream.readAll(); // это исходный текст textEdit->append(text); QByteArray xml; xml.append(text); QTextCodec *codec = QTextCodec::codecForName("UTF-8"); // это перекодированный textEdit->append(codec->toUnicode(xml));
C++ (Qt)QTextCodec::setCodecForLocale(cp1251);...QTextStream stream(&file); stream.setAutoDetectUnicode(false);...QString text=stream.readAll();...QTextCodec *codec = QTextCodec::codecForName("UTF-8");// это перекодированныйtextEdit->append(codec->toUnicode(xml));
QByteArray xml;xml.append(text);
QTextCodec * codec = QTextCodec::codecForLocale(); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForCStrings(codec);
class CUfebsHandler : public QXmlDefaultHandler{...bool CUfebsHandler::processingInstruction ( const QString & target, const QString & data ){ encoding="UTF-8"; if(target=="xml"){ int pos=data.indexOf("encoding"); if(pos>=0){ encoding=data.mid(pos).section('\'',1,1).trimmed(); } } return true;}