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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Русские символы в параметрах dynamicCall  (Прочитано 5893 раз)
chiffa
Новичок

Offline Offline

Сообщений: 1


Просмотр профиля
« : Ноябрь 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", ""));

подскажите, как правильно задать кодировку? Спасибо!
« Последнее редактирование: Ноябрь 02, 2021, 18:02 от chiffa » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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