在我的程序中,我加载用户提供的纯文本文件:
QFile file(fileName);
file.open(QIODevice::ReadOnly);
QTextStream stream(&file);
const QString &text = stream.readAll();
当文件采用UTF-8编码时,此方法运作良好。但是一些用户试图导入采用Windows-1252编码的文件,如果这些文件中包含有特殊字符的单词(例如“boutonnière”中的“è”),则会显示出现问题。
是否有一种方法可以检测编码,或至少区分UTF-8(可能没有BOM)和Windows-1252,而不必要求用户告诉我编码方式?