C++ 无法在Qt中读取utf-8文件

C++ 无法在Qt中读取utf-8文件,c++,qt,utf-8,C++,Qt,Utf 8,我正在读取一个utf-8编码的文件。下面是我的代码 QFile file("file.txt"); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { return 1; } QTextStream ts(&file); ts.setCodec( "UTF-8" ); QString str = ts.readLine(); qDebug() << str << str.toUtf8().t

我正在读取一个utf-8编码的文件。下面是我的代码

QFile file("file.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
  return 1;
}
QTextStream ts(&file);
ts.setCodec( "UTF-8" );
QString str = ts.readLine();    
qDebug() << str << str.toUtf8().toHex();
QFile文件(“file.txt”);
如果(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
返回1;
}
QTextStream ts(文件(&F);
ts.setCodec(“UTF-8”);
QString str=ts.readLine();

qDebug()的UTF-8表示
的UTF-8表示
您对文件内容有多确定?(将该字符从浏览器复制/粘贴到utf-8控制台不起作用。)能否使用十六进制编辑器或
hextdump-C
?qDebug()不是测试编码的好方法。控制台上的内容取决于许多因素,包括shell的配置等。最好通过在QWidget中显示它来进行测试。您对文件内容的确定程度如何?(将该字符从浏览器复制/粘贴到utf-8控制台不起作用。)能否使用十六进制编辑器或
hextdump-C
?qDebug()不是测试编码的好方法。控制台上的结果取决于许多因素,包括shell的配置等。通过在QWidget中显示它,可以更好地进行测试。