Russian Qt Forum
Май 07, 2024, 17:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / ActiveX / Русские символы в параметрах dynamicCall : Ноябрь 02, 2021, 13:29
Добрый день. Пытаюсь вызвать ОЛЕ-объект с параметрами - русскими символами, но по итогу получаю на выходе кракозябру (ОЛЕ-драйвер логирует запросы). Поддерживаемая кодировка 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", ""));

подскажите, как правильно задать кодировку? Спасибо!
Страниц: [1]

Страница сгенерирована за 0.048 секунд. Запросов: 24.