89645


Windows上のQt(C++)で以下の様なコードで日本語を含む文字列をデバッグ出力すると  
アプリケーション出力ペインに文字化けして出力されてしまいます。

[code]

    qDebug << "あいうえお" << number ;
    
[/code]

Releaseビルドの時は文字化けしないで上手く行くのですが、Debugビルド時に出力を日本語で確認したいのですが何か方法は無いでしょうか。  
\--- 以下追記です  
Qt Creator 7.0.2  
プロジェクトは  
Qt 5.9.9 MinGW 32bit  
Qt 6.2.2 MinGW 64bit  
です

オプションはプロジェクトを作成したときのまま変更していません  
デバッグビルドでステップ実行(F5) :文字化けする  
デバッグビルドで実行(CTRL+R) :文字化けしない  
リリースビルドでステップ実行(F5) :文字化けする  
リリースビルドで実行(CTRL+R) :文字化けしない

試したコードは

[code]

    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        qDebug() << "デバッグ";
    }
    
[/code]


CC BY-SA 4.0
2022-03-18T10:02:36.597
87900
2022-06-28T07:30:08.253
2022-06-28T02:40:51.940
15047
15047
question
c++ windows qt 文字化け qt-creator
Windows 版の Qt Creator で日本語を qDebug で出力すると文字化けする


以下のようなコードでステップ実行(F5)と通常の実行(CTRL+R)を試したところ、  
F5の時は全て文字化け  
CTRL+Rの時はfromLocal8Bitで文字化けになりました  
Linux上だとそもそも、問題なくqDebugは出力できるのですが  
不便ではあるのですが、あくまでデバッグ出力での話なのでとりあえず締めてしまいます

[code]

    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
        , ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        qDebug() << "日本語";
    
        QString temp1 = QString::fromLocal8Bit("日本語");
        QString temp2 = QString::fromUtf8("日本語");
        QString temp3 = QString::fromStdString("日本語");
        QString temp4 = QString::fromLatin1("日本語");
    
        qDebug() << "fromLocal8Bit:" << temp1;
        qDebug() << "fromUtf8:" << temp2;
        qDebug() << "fromStdString:" << temp3;
        qDebug() << "fromLatin1:" << temp4;
    }
    
[/code]

F5で実行(ステップ実行)

[code]

    ���{��
    fromLocal8Bit: "日本��"
    fromUtf8: "���{��"
    fromStdString: "���{��"
    fromLatin1: "a\u0097\a\u009C��ea\u009E"
    
[/code]

CTRL+Rで実行

[code]

    日本語
    fromLocal8Bit: "譌･譛ｬ隱"
    fromUtf8: "日本語"
    fromStdString: "日本語"
    fromLatin1: "a\u0097\a\u009C￢ea\u009E"
    
[/code]


CC BY-SA 4.0
2022-06-28T07:30:08.253
89645
2022-06-28T07:30:08.253
15047
87900
answer