#include <QtCore/QCoreApplication>
#include <QtCore/QFile>
#include <QtCore/QTextCodec>
#include <QtCore/QTextStream>
#include <QtCore/QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("test.txt");
if (file.open(QIODevice::ReadWrite | QIODevice::Text))
{
QTextStream stream(&file);
stream.setAutoDetectUnicode(1);
stream.setGenerateByteOrderMark(1);
stream.setCodec("gbk");
//问题是在这能不能判定文件txt的编码格式求指教啊
// stream.setCodec("utf8");
// const QString &text = stream.readAll();
// stream.seek(0);
// stream.setCodec(QTextCodec::codecForName("gbk"));
// stream.setGenerateByteOrderMark(true);
// stream << text;
// stream.seek(0);
qDebug() << stream.readAll();
}
return 0;
}
在线只为求答案~~~~, 路过的Qt朋友们帮我看下,急用啊 愁死人啊,客户要求在导入windows 或linux 文件都可以实现正确读取,我们知道在windows里是 gbk ,而 linux 里是 utf8啊 这不是坑爹吗? 遇到同样的问题的qt 朋友顶下。单独的windows 和 linux 都实现了 我就想是有没有一个方法判定下编码。。。。用if 语句实现, 但是没能实现。