スペイン語でプログラムを書いています。ファイルがロードされたことをユーザーに伝えたい。スペイン語では、次のとおりです。
ui->teLog->append("Se cargó el archivo: " + filename);
ただし、スペイン語の部分は次のように出力されます。
Se cargó el archivo:
問題はエンコーディングであることはわかっています(これがUTF8であることをプログラムに伝える必要があるように)。とにかくこれを行うことはありますか?
スペイン語でプログラムを書いています。ファイルがロードされたことをユーザーに伝えたい。スペイン語では、次のとおりです。
ui->teLog->append("Se cargó el archivo: " + filename);
ただし、スペイン語の部分は次のように出力されます。
Se cargó el archivo:
問題はエンコーディングであることはわかっています(これがUTF8であることをプログラムに伝える必要があるように)。とにかくこれを行うことはありますか?
通常のQStringコンストラクターは、ASCII文字を記述していることを前提としています。この場合に使用するQString::fromUtf8()
と、機能するはずです。
ui->teLog->append(QString::fromUtf8("Se cargó el archivo: ") + filename);
また:
QTextCodec::setCodecForCStrings( QTextCodec::codecForName("utf8") );
(詳細については、この回答を参照してください)
latin1 言語を使用してすべてのメッセージを平易な英語で書き、Qt の翻訳機能を使用してメッセージをスペイン語に変換することを検討してください。http://qt-project.org/doc/qt-4.8/qobject.html#trおよびhttp://qt-project.org/doc/qt-4.8/linguist-translators.htmlを参照してください。
これにはいくつかの利点があります。