私のQtアプリケーションで私のソースコードファイルはUTF-8としてエンコードされています。私はそのメッセージボックスを表示するときは、次のコードのために...QtのデフォルトエンコーディングをUTF-8に設定する
QMessageBox::critical(this, "Nepoznata pogreška", "Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?", QMessageBox::Yes, QMessageBox::No);
は...、文字「S」は奇妙な何かのように、「S」と表示されませんでした。これは、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()
にすべてのコールを取り除く方法はありますか?
http://stackoverflow.com/questions/29485602/qt-convert-unicode-entites – trante