求助,QT5.4中的中文输出是乱码!

weixin_38070905 2019-09-19 12:19:53
QT5.4加上           ”#pragma execution_character_set("utf-8")“            时           “  cout<<"请您输入0或1,选择数据库(0-Oracle,1-SQLite):";             输出是乱码,不加        ”#pragma execution_character_set("utf-8")“        时          ”     qDebug()<<"SQLite数据库读取完毕!"<<endl;“            是乱码,求各位大神指教
...全文
258 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38073691 2019-09-19
  • 打赏
  • 举报
回复
原因其实很简单,std::cout 只是简单的输出字节流,没有任何处理。用 std::cout 输出非ASCII编码的字节流,本身就是不太负责的写法。即使没有 #pragma,也无法避免乱码问题。你可以保证你的程序在简体中文Windows下不乱码,但是也只能在简体中文Windows下乱码。qDebug() 和 std::wcout 都能处理locale信息。所以不存在上述问题。
weixin_38074583 2019-09-19
  • 打赏
  • 举报
回复
QString str=QString::fromLocal8Bit("中文乱码"); qDebug()<<str<<endl;“QT5 中文乱码解决很麻烦,上面是我的解决方法。可以解决

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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