qt5 写文件 中文乱码

light_bo 2014-05-23 12:19:21
qt5 windows qt creator 中,源文件格式为带bom的utf-8,
以下代码老是出现中文乱码,求大神指导

QFile file("dat.txt");
if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){
QMessageBox::warning(this,QStringLiteral("警告"),
file.errorString());
return;
}

QTextStream out(&file);

QString str("物品名称");

out<<str;

file.close();
...全文
1304 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
foruok 2014-05-30
  • 打赏
  • 举报
回复
有空请关注我的博客:http://blog.csdn.net/foruok,有很多关于 Qt 的内容。
foruok 2014-05-30
  • 打赏
  • 举报
回复 1
只需这么做: 1.首先把Qt Creator的编辑器设置为使用 UTF-8,下面是操作顺序: 工具-->选项-->文本编辑器-->行为,在右侧选项界面找到文件编码选项,设置为 UTF-8。 2.使用 QTextStream 时设置编码格式,你的代码修改如下: QTextStream out(&file); out.setCodec("utf-8"); QString str("物品名称");
light_bo 2014-05-30
  • 打赏
  • 举报
回复
谢谢大家的解答!
leee7338 2014-05-27
  • 打赏
  • 举报
回复
//编码的转换 QTextCodec* coder=QTextCodec::codecForName("utf-8"); QTextCodec::setCodecForTr(coder); 加上这两句试试
引用 3 楼 light_bo 的回复:
[quote=引用 1 楼 sdu_hanson 的回复:] 更改一下编码格式。 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); http://blog.csdn.net/brave_heart_lxl/article/details/7186631 这里讲的很好
试过了还是不行,有一些函数在qt5中不支持[/quote]
寒山-居士 2014-05-26
  • 打赏
  • 举报
回复
Qt5.x已经没有编码这回事啦,默认就是utf-8格式,要想保证不乱码 1.保证代码文件是utf-8格式的 2.QString::fromUtf8("我爱你,丁");
KeequenLiu 2014-05-23
  • 打赏
  • 举报
回复
QTextCodec或这QString::fromXXX 这种东西进行转换
light_bo 2014-05-23
  • 打赏
  • 举报
回复
引用 1 楼 sdu_hanson 的回复:
更改一下编码格式。 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); http://blog.csdn.net/brave_heart_lxl/article/details/7186631 这里讲的很好
试过了还是不行,有一些函数在qt5中不支持
sdu_hanson 2014-05-23
  • 打赏
  • 举报
回复
更改一下编码格式。 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); http://blog.csdn.net/brave_heart_lxl/article/details/7186631 这里讲的很好

16,818

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧