石嵜と申します。 いつもお世話になっております。
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
でいかがでしょうか?
よろしくお願いいたします。 以上 --Separator@t-ishizaki@cj.jp.nec.com: QtUsers
-----Original Message----- From: Qt-users [mailto:qt-users-bounces@qt-users.jp] On Behalf Of Kiwamu Okabe Sent: Friday, February 19, 2016 3:59 PM To: qt-users@qt-users.jp Subject: [Qt-users:488] Qt5を用いたGUIアプリケーションで文字が化ける(豆腐になる)ことがある
岡部です。いつもお世話になっております。
Ubuntu 14.04上で動作していたQt4を使ったGUIアプリケーションをQt5に移植しようとしています。 Qt4でアプリケーションを動作させた時には問題は起きていません。
Qt5に移植したアプリケーションはビルドは通り、アプリケーションは起動するのですが、起動するたびに、、、
- ある時は正常にGUIに漢字が表示される
- ある時はGUI上のカタカナなどが豆腐になる(化ける)
という症状に悩んでいます。
アプリケーションの起動時に
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
のような行を入れてみたのですが、改善しません。
なにかヒントをいただけたら助かります。 以上よろしくお願いいたします。 -- Kiwamu Okabe at METASEPI DESIGN _______________________________________________ Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
岡部です。いつもお世話になっております。
2016-02-19 16:32 GMT+09:00 Tomonari Ishizaki t-ishizaki@cj.jp.nec.com:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
でいかがでしょうか?
ありがとうございます。しかし、、、
error: ‘setCodecForCStrings’ is not a member of ‘QTextCodec’
というエラーになるようです。 http://doc.qt.io/qt-5/sourcebreaks.html によるとsetCodecForCStringsメソッドはQt5で削除されたようです。
QTextCodec::codecForCStrings() and QTextCodec::setCodecForCStrings() are removed as they were creating uncertainty/bugs in using QString easily and (to a lesser extent) performance issues. QTextCodec::codecForTr() and QTextCodec::setCodecForTr() are removed.
以上よろしくお願いいたします。