当前位置:首页 >> 编程语言 >> 【Qt-22】Qt乱码问题解决,iwatermelon(qt乱码怎么解决)

【Qt-22】Qt乱码问题解决,iwatermelon(qt乱码怎么解决)

cpugpu芯片开发光刻机 编程语言 1
文件名:【Qt-22】Qt乱码问题解决,iwatermelon 【Qt-22】Qt乱码问题解决

最近在Qt项目中遇到TCP通信接收数据乱码的问题,很是苦恼,经过多次尝试,终于得以解决。

感谢Qt TcpSocket 传递数据乱码显示_qt中socket接受到的客户端数据显示不出来-CSDN博客

彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)_XX風的博客-CSDN博客

1、VS运行中输出的汉字为乱码

在头文件中插入以下一行代码:

#pragma execution_character_set("utf-8");

2、TCP通信接收的数据为乱码

在main.cpp文件中插入以下代码:

#include <QTextCodec>//设置中文编码#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))#if _MSC_VERQTextCodec *codec = QTextCodec::codecForName("GBK");#elseQTextCodec *codec = QTextCodec::codecForName("UTF-8");#endifQTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCStrings(codec);QTextCodec::setCodecForTr(codec);#elseQTextCodec *codec = QTextCodec::codecForName("UTF-8");QTextCodec::setCodecForLocale(codec);#endif

tcp接收数据处添加以下内容:

#include <QTextCodec>QByteArray buffer1;buffer = tcpSocket_conf->readAll();QTextCodec *tc = QTextCodec::codecForName("GBK");QString cc = tc->toUnicode(buffer);qDebug() << buffer;qDebug() << cc;

输出:

tcp发送数据添加以下内容:

QByteArray result_send;QTextCodec *tc = QTextCodec::codecForName("GBK");tcpSocket_conf->write(tc->fromUnicode(result_send));

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接