私聊模块,一个客户端发送完数据,另一个客户端在显示方面出现中文乱码。
尝试过在发送数据的时候使用toUtf8方法,没有效果
接受的时候使用fromUtf8,没有效果
粘贴代码文本(请勿用截图)
//私聊功能
void Friend::chatAlone()
{
//获取自己的名字和好友的名字,获取消息的内容 QListWidgetItem* lw= friendList->currentItem(); //判断是否为空 if(lw==NULL) { QMessageBox::information(this,"私聊","请选择要私聊的好友"); return; } QString st; st=lw->text().toUtf8(); QString strName=TcpClient2::getInstance().getName().toUtf8(); QString msg=inputMsg->text().toUtf8(); inputMsg->clear(); PDU* p=mkPDU(msg.size()); p->uiMsgType=ENUM_MSG_TYPE_CHAT_ALONE_REQUEST; //将获取到的数据封装到自己定义的PDU里面 strncpy(p->caData,st.toStdString().c_str(),st.size()); strncpy(p->caData+32,strName.toStdString().c_str(),strName.size()); strncpy((char*)p->caMsg,msg.toStdString().c_str(),msg.size()); TcpClient2::getInstance().getSocket()->write((char*)p,p->uiPDULen); free(p); p=NULL; showMsg->append("你对"+st+"说:"+msg);
}
显示消息
void Friend::showMs(PDU *p)
{
if(NULL==p) return; char name[32]={'\0'}; strncpy(name,p->caData+32,32); QString msg=QString("%1对你说:%2").arg(name).arg((char*)p->caMsg); showMsg->append(msg);
}
自己定义的PDU
struct PDU
{
uint uiPDULen;//总的消息长度uint uiMsgType;//消息的类型char caData[64];uint uiMsgLen;//实际消息长度int caMsg[];//实际消息
};
期待结果:中文信息可以正常显示
错误显示:你对jack说:你好杰克
jack对你说:你��������z��
你看看这张图有用吗?
来源:https://segmentfault.com/q/1010000043923867/a-1020000043923969
本文向大家介绍escape编码与unescape解码汉字出现乱码的解决方法,包括了escape编码与unescape解码汉字出现乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天的项目中遇到需要用javascript的escape编码汉字再用unescape解码的情况,测试代码段的时候出现了乱码的情况。 具体情况如下: 首先,用EditPlus打开测试页面test.html,编辑如下ht
本文向大家介绍通过网页查看JS源码中汉字显示乱码的解决方法,包括了通过网页查看JS源码中汉字显示乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 前言 在网页中读取js文件,中文显示正常(比如alert出js文件的中文信息)。但当浏览器查看js文件源代码时,则会看到代码里的中文全是乱码。虽然不影响程序运行,但是在读js文件代码时,会受影响。 前几天在浏览器查看自己写的web代码的时候,发现外
本文向大家介绍C#实现的Socket服务器端、客户端代码分享,包括了C#实现的Socket服务器端、客户端代码分享的使用技巧和注意事项,需要的朋友参考一下 服务端: 客户端:
本文向大家介绍JavaEE中用response向客户端输出中文数据乱码问题分析,包括了JavaEE中用response向客户端输出中文数据乱码问题分析的使用技巧和注意事项,需要的朋友参考一下 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象。request和response对象既然代表请求和响应,那我们要获取
本文向大家介绍destoon网站转移服务器后搜索汉字出现乱码的解决方法,包括了destoon网站转移服务器后搜索汉字出现乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 很多使用destoon的用户在网站转移服务器后,一切正常,但是在有搜索页面时,搜索汉字就会出现乱码 框框 之类的符号,而搜索数字,英文则很正常。 对于使用destoon(GBK)模板的用户来说,解决方法为: 将.htacce
本文向大家介绍js传值后台中文出现乱码的解决方法,包括了js传值后台中文出现乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js传值后台中文出现乱码的解决方法。分享给大家供大家参考,具体如下: 在“test.jsp”页面中,需要通过js将值传递到后台,后台根据传递的值进行数据查询时,通过test.jsp的js进行编码(标注部分的代码),后台Java解码(注释标注部分为解码),