我的基于Qt4的应用程序(http://qcomicbook.linux-projects.net)在打开位于具有无效编码的目录中的文件时遇到问题(很可能是koi-8编码,或者其他一些亚洲编码)。问题出现在以下代码中:
QDir dir(path);
dir.setSorting(flags);
dir.setFilter(QDir::AllDirs|QDir::Files);
const QStringList files = dir.entryList();
foreach (QString f, files) {
...
}
如果路径包含具有无效编码的目录/文件,则dir.entryList()只会过滤掉它们。 QFileDialog :: getExistingDirectory对话框也显示了该问题,该对话框沿文件目录名称显示“无效编码”警告。
是否有针对此的解决方法,理想情况下对最终用户透明?