私の 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()
ますか?