关于QFill读取文件中文乱码的问题

如下代码是一个读取文件的函数,但是我的文件中出现中文后,遍历容器会出现乱码的问题,请问这种情况应该怎么解决呢?

void Book::getBookInfo()
{
    // 获取当前工作路径
    QString currentPath = QDir::currentPath();
    // 使用相对路径构造文件路径
    QString filePath = "/bookInfo.csv";

    QFile * file = new QFile(currentPath + filePath);
    file->setParent(this);
    bool ok = file->open(QIODevice::ReadOnly | QIODevice::Text);
    if(!ok)
    {
        qDebug()<<"No File";
        return;
    }
    bool isOneLine = true;
    QVector<QString> v;

    while(!file->atEnd())
    {
        v.clear();
        //一行行读取数据
        QString line = file->readLine();
        if(isOneLine)
        {
            isOneLine = false;
            continue;
        }
        line = line.trimmed();
        //以逗号作为分割
        QStringList list = line.split(',');
        for(int i = 1;i<5;i++)
        {
            QString str = QString(list[i]);
            v.push_back(str);
        }
        this->bookInfo.insert(QString(line[0]),v);
    }
}


QFile *file = new QFile(currentPath + filePath);
file->setParent(this);
*QTextCodec codec = QTextCodec::codecForName("UTF-8");
file->setTextCodec(codec);

bool ok = file->open(QIODevice::ReadOnly | QIODevice::Text);

加上粗体这两句试一下