QT QProcess::readAllStandardOutput()中文乱码解决方法
来源:互联网 发布:vr应用领域 数据科学 编辑:程序博客网 时间:2024/06/08 17:53
QT QProcess::readAllStandardOutput()中文乱码解决方法
(2014-04-16 17:25:43)转载▼
标签:
qt
中文乱码
qstring
转换
qprocess
QT5已经移除setCodecForTr等转编码的函数,所以需要用QString::fromStdString和QString::fromLocal8Bit等转换成QString
以下是示例代码
//包含的头文件都被新浪微博自动删除了,自己包含相应的头文件吧
#include
#include
#include
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QProcess pro;
pro.start("demo.exe");
pro.waitForFinished();
string str1 = "111中文";
//QString str = QString(QObject::tr(pro.readAllStandardOutput())); //中文显示乱码
//QString str = QString::fromStdString(pro.readAllStandardOutput()); //中文显示乱码
QByteArray qba = pro.readAllStandardOutput();
char* myChar = new char[qba.length()];
for(int i=0; i i++)
{
myChar[i] = qba[i];
}
string str2 = string(myChar);
delete []myChar;
qDebug()<<QString::fromStdString(str1)//中文显示正常
<<QString::fromStdString(str1.c_str()) //中文显示正常
<<QString::fromStdString(str2) //中文显示乱码
<<QString::fromLocal8Bit(str2.c_str()) //中文显示正常
<<QString::fromLocal8Bit(qba); //中文显示正常
return a.exec();
}
0 0
- QT QProcess::readAllStandardOutput()中文乱码解决方法
- Qt5 QProcess的使用和readAllStandardOutput()中文乱码的解决
- Qt中文乱码解决方法
- QT中文乱码解决方法
- QT中文乱码解决方法2
- qt 界面上中文乱码解决方法
- QT中中文显示乱码 解决方法
- explicit和QT中文字符乱码解决方法
- Qt使用中文时,出现乱码解决方法
- QT 打印中文显示乱码的解决方法
- Linux下QT控件中文乱码解决方法
- Qt Creator编写C++中文乱码解决方法
- Qt QProcess
- Qt利用QProcess打开路径(含中文路径)的方法
- QT中使用MySql中文乱码解决方法(windows下)
- QT中使用MYSQL中文乱码解决方法(Linux)
- 【ubuntu linux】 QT中使用MYSQL中文乱码解决方法
- 【Qt开发】Qt5.7中文显示乱码解决方法两种
- poj 2656 Unhappy Jinjin
- elasticsearch-curator的安装
- QT Creator 快捷键
- 刚问过
- Subshell 执行
- QT QProcess::readAllStandardOutput()中文乱码解决方法
- linux参数太长续行,linux shell 参数换行(标准说法:续行)
- uva10026
- dp与pixel互相转换
- 旋转卡壳解poj3608Bridge Across Islands
- SPI-------------LINUX----------驱动中的几个关键结构体
- DOM学习笔记(四)
- Codeforces 346 B. Lucky Common Subsequence
- CodeForces-116A-Tram