Добрый день. Пытаюсь вызвать ОЛЕ-объект с параметрами - русскими символами, но по итогу получаю на выходе кракозябру (ОЛЕ-драйвер логирует запросы). Поддерживаемая кодировка Windows-1251 и UTF-8, но никак не получается правильно отправить текст. Делаю так:
setlocale(LC_ALL, "Russian");
QString fileToPrint = (qApp->applicationDirPath()+"/"+"test.txt";
QFile filePrt(fileToPrint);
QTextStream inPrt(& filePrt);
inPrt.setCodec("Windows-1251");
if(!filePrt.open(QFile::ReadOnly | QFile::Text))
{
qDebug() << "File failed to open";
return;
}
QStringList toPrint = inPrt.readAll().trimmed().split("\n");
QByteArray strEncSend;
strEncSend+=toPrint [i].replace("\f", "");
object.dynamicCall("FreeTextLine(\""+strEncSend+"\")");
но на выходе, в логах, получаю:
02.11.2021 12:25:17.87|Debug|вызов отработан: FreeTextLine("
°?
?µ?»?°?", None) = Success
Так же пробовал через
QTextCodec *codec = QTextCodec::codecForName("windows-1251");
QByteArray strEnc = codec->fromUnicode(toPrint [i].replace("\f", ""));
подскажите, как правильно задать кодировку? Спасибо!