我正在尝试在Qt中创建一个UTF-8编码的文件。
#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文件,因此我将需要对每个读取的字符串执行转换,但现在,我想从一个文件开始。 谢谢。