为进程输出问题设置编码

问题描述:

我想为俄罗斯输出的Windows控制台进程设置编码。在C#中,Process具有StandardOutputEncoding属性,但在Qt中不存在这样的功能。为进程输出问题设置编码

这里的问题是:

enter image description here

任何建议如何实现的呢?

更新:

我已经试过QTextStreamsetCodec功能:

void Test1::getData(QByteArray data) 
{ 
    QTextStream encodeStream(data); 
    encodeStream.setCodec("windows-1251"); 

    dataTextBrowser->append(encodeStream.readAll()); 
    emit dataFinished(); 
} 

结果:

enter image description here

+0

什么是'CHCP'命令的输出? – lit

+0

@lit 我已通过'GetOEMCP()'函数进行检查,它返回'866'。 – Cobra91151

+1

改用“IBM 866”。 –

感谢迈克尔·。我已经解决了这个问题。另外,我在这里包含了代码,所以其他人可以找到解决方案。

代码:

void Test1::getData(QByteArray data) 
{ 
    QTextStream encodeStream(data); 
    encodeStream.setCodec("IBM 866"); 
    dataTextBrowser->append(encodeStream.readAll()); 
    emit dataFinished(); 
}