WIN10上编译的QT程序在WIN7上运行,中文乱码

wxf54318 2021-03-17 11:33:31
WIN10和WIN7都为64位中文专业版,软件在WIN10上显示正常,在WIN7上中文显示乱码,写入日志文件也是乱码(文件格式为ANSI)

部分代码
QString name1 = QString::fromUtf8(empName);
logfile->write(plateNumber);//写入日志

QJsonObject oJson;
oJson.insert("name", name1);
m_httpDocum.setObject(oJson);
m_httpData = m_httpDocum.toJson(QJsonDocument::Compact);// convert to json
m_httpManager->post(m_httpRequest, m_httpData);//发给服务器
...全文
742 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxf54318 2021-04-16
  • 打赏
  • 举报
回复
解决了,是QString转码方式与执行字符集不一致导致,应该在main.cpp中设置中文编码为GBK如下,
if (QSysInfo::WindowsVersion == QSysInfo::WV_WINDOWS7)
{
QTextCodec *codec = QTextCodec::codecForName("GBK");
QTextCodec::setCodecForLocale(codec);
}
具体见文章https://blog.csdn.net/libaineu2004/article/details/19245205
Boufbou 2021-04-14
  • 打赏
  • 举报
回复
我想是两个系统都是 Utf8 如果在WIN7下又编写一次就会出现乱码,去掉 Utf8 试试看

16,817

社区成员

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

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