已设置了编码集,但从记事簿读出的中文还是乱码

已设置了编码集,但从记事本读出的中文还是乱码
本帖最后由 Chirive 于 2013-03-25 11:30:27 编辑
    
#include<QtGui>
#include<QApplication>
#include<QFile>
#include<QIODevice>
    
QFile file("DATA.txt");
    if(file.open(QIODevice::ReadOnly))
    {
        QString line;
        QTextStream flo(&file);
        //qDebug()<<"Error";
        QTextCodec *codec=QTextCodec::codecForName("GBK");
        flo.setCodec(codec);
        while(flo.atEnd()==0)
        {
            line=codec->fromUnicode(flo.readLine());
            qDebug()<<line;
            qDebug()<<flo.atEnd();
        }
        file.close();


------解决方案--------------------
QString line;
QTextStream flo(&file);
//qDebug()<<"Error";
QTextCodec *codec=QTextCodec::codecForName("GBK");
flo.setCodec(codec);
while(flo.atEnd()==0)
{
line=flo.readLine();
qDebug()<<line;
qDebug()<<flo.atEnd();
}