QT中QString保存读取的内容出现乱码是因为编码方式不正确,给出以下两种方法:
1、 QTextCodec::setCodecForCStrings( QTextCodec::codecForName("GBK"));
QString str;
QFile file("./test.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text ))
{
return;
}
while( file.atEnd() == 0 )
{
QString linestr;
linestr = file.readLine();
str += linestr;
str += "\r\n";
}
读取完成后打印出str
2、 QString str;
QFile file("./test.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text ))
{
return;
}
QTextCodec *code=QTextCodec::codecForName("GBK");
QTextStream rstream( &file );
rstream.setCodec