首页| 论坛| 消息

标题:qt5.14.2 编译结果显示中文的问题
作者:时间有的是
日期:2022-01-16 16:54
内容:

好容易把程序调通了,但是问题又又又来了,其他特殊符号没问题,中文单个也没问题,就是多打几个中文汉字就不行了, 网上找的那些方法都不适用,期待高手帮忙。
void MsgThread::run()
{
char buf[1024] = {0};
while(true){
if(mIsSend){
qDebug()


#1 [时间有的是 01-16 16:56]
不知道咱们这里能不能上传图片?
#2 [clickto 01-16 20:13]
:::send(mSocket,mMsg.toUtf8().data(),mMsg.length() +1,0);
这里发送的长度不对
你最终转为char型了,但是你发送的是mMsg的长度,这两个是不一样的
比如说,你的汉字是5个,但是编码后,3个子节标识一个汉字,你这里能发送的汉字长度就是(5+1)/3 =2个。
#3 [spygg 01-16 20:16]
用QByteArray, QString 和char* 可能会遇到字符串中出现0而截断的问题
#4 [fsu0413 01-17 16:35]
:::send(mSocket,mMsg.toUtf8().data(),mMsg.length() +1,0)
第3个参数 用.toUtf8().size()

回复 发表
主题 版块