首页 > 其他 > 详细

在qt提取lineedit中的中文字符串,通过tcp通信时,服务器接收乱码的情况,解决办法

时间:2020-06-04 17:16:52      阅读:65      评论:0      收藏:0      [点我收藏+]

使用的是qt5.9版本,在取lineedit中的中文字符转成字符串,后转成char*的过程中,在仅仅使用string str.tolocal8bit,是不起作用的,转换不了格式,输出的char*数组还是utf8格式的报文,解决方式如下:

 

添加

QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

 编译报错后,删除后面报错的两条指令即可。

 

比如Qstring str="汉字“;

utf8输出E6 B1 89 E5 AD 97

local8bit输出BA BA D7 D6

 

在qt提取lineedit中的中文字符串,通过tcp通信时,服务器接收乱码的情况,解决办法

原文:https://www.cnblogs.com/Tearsly/p/13044713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!