В моем приложении Qt мои файлы исходного кода кодируются как UTF-8. Для следующего кода...
QMessageBox::critical(this, "Nepoznata pogreška", "Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?", QMessageBox::Yes, QMessageBox::No);
... Когда я покажу это окно сообщения, символ "š" не будет отображаться как "š", а как-то странно. Это связано с тем, что Qt преобразует все C-строки, как если бы они были закодированы с использованием LATIN-1. Чтобы решить эту проблему, я использовал:
QMessageBox::critical(this, QString::fromUtf8("Nepoznata pogreška"), QString::fromUtf8("Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?"), QMessageBox::Yes, QMessageBox::No);
Есть ли способ избавиться от всех вызовов QString::fromUtf8()
?