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

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;
    就可以了。

    评论

报告相同问题?

悬赏问题

  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 武汉岩海低应变分析软件,导数据库里不显示波形图
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥30 CanMv K210开发板实现功能
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web