先上程序:
- C/C++ code
#include <QtCore> #include <QtNetwork> //网页地址 const QString URLSTR = "http://www.csdn.net/"; //储存网页代码的文件 const QString FILE_NAME = "code.txt"; int main(int argc, char **argv) { QCoreApplication app(argc, argv); QUrl url(URLSTR); QNetworkAccessManager manager; QEventLoop loop; qDebug() << "Reading code form " << URLSTR; //发出请求 QNetworkReply *reply = manager.get(QNetworkRequest(url)); //请求结束并下载完成后,退出子事件循环 QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); //开启子事件循环 loop.exec(); //将读到的信息写入文件 QString code = reply->readAll(); QFile file(FILE_NAME); file.open(QIODevice::WriteOnly); QTextStream out(&file); out << code << endl; file.close(); qDebug() << "Finished, the code have written to " << FILE_NAME; return 0; }
我发现如果用这个程序来获取网页的源代码,那么中文字符会出现乱码,
应该是编码问题吧,那么应该怎么改正呢?
请大家帮一下忙吧,先谢谢啦。
------解决方案--------------------
需要转一下码,我以前做过类似的
http://topic.csdn.net/u/20111008/09/3ca6c3da-85e5-491a-b172-00a591b6a755.html
这是我以前发布的一个帖子,帖子后面几楼是我写的转码代码,希望对你有帮助