Нужно из одного файл (в ANSI кодировке файл) считать русский текст и записать в другой файл. Делаю так:
QFile * file_imit = new QFile(this);
    file_imit->setFileName("imitator.txt");
    if(!file_imit->open(QFile::ReadOnly))
    {
        qDebug() << "error" << file_imit->errorString();
    }
    QByteArray buffer2;
    buffer2 = file_imit->readLine();
    
    QTextCodec::ConverterState state;
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    
    QString text = codec->toUnicode(buffer2.constData(), buffer2.size(), &state);
    
    qDebug() << "text" << text << "state.invalidChars" << state.invalidChars;
    
    if (state.invalidChars > 0) //если не угадали
    {
        text = QString::fromLatin1(buffer2);
        qDebug() << "fromLatin1" << text;
    }
    
    qDebug() << "manufactureNumber" << text;
    QString manufacture = text; 
    
    //QString manufacture = "A0404           ";  //это работает
    
    
    QString buffer;
    
    buffer.append("Заводской №:" + manufacture + "\r\n");
    
    
    QFile file;
    file.setFileName("info.txt");
    if(file.open(QFile::WriteOnly))
    {      
        file.write(buffer.toStdString().c_str(), buffer.toStdString().size());
        file.close();
    }
    
Вывод:
text "?0404           " state.invalidChars 1 
fromLatin1 "A0404           " 
manufactureNumber "A0404           "
В файле info.txt
Заводской №:À0404 
По выводу все нормально считал «A0404» текст из файла, но криво пишет в другой файл. Подскажите где ошибка ?


