Я пытаюсь создать кодированный файл UTF-8 в Qt.
#include <QtCore>
int main()
{
QString unicodeString = "Some Unicode string";
QFile fileOut("D:\\Temp\\qt_unicode.txt");
if (!fileOut.open(QIODevice::WriteOnly | QIODevice::Text))
{
return -1;
}
QTextStream streamFileOut(&fileOut);
streamFileOut.setCodec("UTF-8");
streamFileOut << unicodeString;
streamFileOut.flush();
fileOut.close();
return 0;
}
Я думал, что когда QString по умолчанию является Unicode, и когда я устанавливаю кодек выходного потока в UTF-8, мой файл будет UTF-8. Но это не так, это ANSI. Что я делаю неправильно? Что-то не так с моими струнами? Можете ли вы исправить мой код для создания файла UTF-8? Следующим шагом для меня будет чтение файла ANSI и сохранение его как файла UTF-8, поэтому мне придется выполнить преобразование для каждой строки чтения, но теперь я хочу начать с файла. Спасибо.