创建名为“абцде”的文件时 文件名是用象形文字写的
const QByteArray data = "someData"; // some Data
QString fileName = "абцде.txt"; // fileName
QFile localFile(fileName.toUtf8());
localFile.open(QIODevice::WriteOnly);
localFile.write(data);
localFile.close();
最佳答案
这些代码行形成了 qt man on i nternationalization 可以帮助。 (QString 最初使用 Unicode)。
QTextCodec *codec = QTextCodec::codecForName( "Windows-1251" );
QByteArray encodedString = codec->fromUnicode( "абцде.txt" );
您可能需要尝试使用编码 ("Windows-1251"),这是一种蛮力方法。
关于c++ - QT - 如何将文件名编码设置为西里尔文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42444572/