Работаю с COM-объектом через qaxobject.
COM-объект это OPOS драйвер для ККМ (просто для справки).
Вот так вызвываю метод:
printer->PrintRecItem(QString::fromUtf8("123 тест test"), ...);
Вот сам метод:
inline int IOPOSFiscalPrinter::PrintRecItem(const QString& Description, qlonglong Price, int Quantity, int VatInfo, qlonglong UnitPrice, const QString& UnitName)
{
    int qax_result;
    void *_a[] = {(void*)&qax_result, (void*)&Description, (void*)&Price, (void*)&Quantity, (void*)&VatInfo, (void*)&UnitPrice, (void*)&UnitName};
    qt_metacall(QMetaObject::InvokeMetaMethod, 43, _a);
    return qax_result;
}
В результате получается такая строка:
123 ?xe? testУже голову сломал, пытаясь определить, какую необходимо передать кодировку. По идее, драйвер поддерживает UTF-8, но, судя по результату, что-то где-то ломается.



