Я пытаюсь создать файл с кодировкой 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, поэтому мне придется выполнять преобразование для каждой прочитанной строки, но теперь я хочу начать с файла. Спасибо.