当我从QT5->Projects->Run
传递相同的unicode参数时,app会起作用,但如果作为参数直接传递给exe则会失败。这些参数是从javascript中使用encodeURIComponent
编码的网页传递的。
代码为:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if(a.arguments().count() < 2)
{
qFatal("No argument provided");
return EXIT_FAILURE;
}
QStringList args = a.arguments().at(1).split("####");
QString param1 = args.at(1);
QUrl downurl = QUrl::fromPercentEncoding(param.toLocal8Bit());
..........
}
答案 0 :(得分:1)
想出这一点,在上面的代码中使用param.toUtf8()
修复此问题。