よく分からん文字化け

  1. Linux上で書いたQtアプリのソースコードWindowsに持ち込んでそのままビルドする。失敗。
  2. ソースコード(.h/.cppファイルのみ)をShift_JIS+CRLFに手直ししてビルド。無事成功。
  3. QMessageBoxを使って表示するダイアログの文字だけが化けている。 <- いまここ

日本語リテラルは全部tr()使って囲んでるし、化けちゃってる原因が謎。
QTextCodec::setCodecForCstringとQTextCodec::setCodecForTr以外に何か文字コードを設定すべき物があるんだろうか?
QTextCodec::setCodecForLocaleに文字コード設定すれば直るのかなぁ。
でも仮にそうだとするとデフォルトがlatin1だからLinux用にコンパイルしたのが文字化けしていないのもそれはそれでおかしい。


---- 2009/09/12 14:01 ----
とりあえず解決。
QTextCodec::setCodecForTr(QTextCoec::codecForLocale())で直った。