Software_Cheng 2014-02-18 10:42 采纳率: 0%
浏览 10420

Qt5中用QTextStream向txt文件中写入中文字符串,打开文件时出现乱码

在网上查了一些关于Qt中文乱码的问题,主要是因为机器的编码问题
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));

QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
但是Qt5中已经没有后两个函数了,而且我用第一个函数时,文件打开时仍是乱码,另外我在
QTextStream out(&dstfile);后添加out.setCodec(QTextCodec::codecForName("GBK"));仍不能解决问题,希望高手能帮我解决这个问题,讲解下具体的编码

QFile dstfile("d:\temp.txt");
if (dstfile.open(QIODevice::WriteOnly|QIODevice::Truncate))
{
QTextStream out(&dstfile);
out.setCodec("System");
out<<tr("你好!世界!")<<endl;
}
  • 写回答

3条回答

  • yzq701128 2014-12-27 14:39
    关注

    把中文放到一个QString中,
    QString str="你好!"
    out<<str;
    就可以了。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考