为进程输出问题设置编码
Set encoding for process output issue
我想为俄语输出的 Windows 控制台进程设置编码。在 C# 中,Process
有一个 StandardOutputEncoding
属性,但在 Qt 中不存在这样的功能。
这是问题所在:
关于如何完成它有什么建议吗?
更新:
我试过QTextStream
setCodec
函数:
void Test1::getData(QByteArray data)
{
QTextStream encodeStream(data);
encodeStream.setCodec("windows-1251");
dataTextBrowser->append(encodeStream.readAll());
emit dataFinished();
}
结果:
感谢 Michael O。我已经解决了这个问题。另外,我在这里包含了代码,所以其他人可以找到解决方案。
代码:
void Test1::getData(QByteArray data)
{
QTextStream encodeStream(data);
encodeStream.setCodec("IBM 866");
dataTextBrowser->append(encodeStream.readAll());
emit dataFinished();
}
我想为俄语输出的 Windows 控制台进程设置编码。在 C# 中,Process
有一个 StandardOutputEncoding
属性,但在 Qt 中不存在这样的功能。
这是问题所在:
关于如何完成它有什么建议吗?
更新:
我试过QTextStream
setCodec
函数:
void Test1::getData(QByteArray data)
{
QTextStream encodeStream(data);
encodeStream.setCodec("windows-1251");
dataTextBrowser->append(encodeStream.readAll());
emit dataFinished();
}
结果:
感谢 Michael O。我已经解决了这个问题。另外,我在这里包含了代码,所以其他人可以找到解决方案。
代码:
void Test1::getData(QByteArray data)
{
QTextStream encodeStream(data);
encodeStream.setCodec("IBM 866");
dataTextBrowser->append(encodeStream.readAll());
emit dataFinished();
}