C++中文字符就变成了乱码,请问如何解决?
voidCDataProcessing::GetRequests(CStringstrRxBuffer){//获取请求的数据,并分解请求的数据CStringstrTemp...
void CDataProcessing::GetRequests(CString strRxBuffer)
{
// 获取请求的数据,并分解请求的数据
CString strTemp;
int nIndex;
while (!strRxBuffer.IsEmpty())
{
nIndex = strRxBuffer.Find(";");
if (nIndex != -1)
{
strTemp = strRxBuffer.Left(nIndex);
strRxBuffer = strRxBuffer.Mid(nIndex + 1);
m_strLines.AddTail(strTemp);
}
else
{
if (strRxBuffer.GetLength() > BUFFER_OVERFLOW)
{
TRACE0("Buffer Overflow\r\n");
m_strRetData = "ERROR;缓冲区溢出;";
}
break;
}
}
}
注意:传进该方法的值中包含中文的中文部分都是乱码
乱码中的字符将前后的;分号都弄成了乱码,导致拆分的时候缺少了两个字符串,乱码中的字符串是
合同号:甘移通(采购-配套)字【2012】第316号 展开
{
// 获取请求的数据,并分解请求的数据
CString strTemp;
int nIndex;
while (!strRxBuffer.IsEmpty())
{
nIndex = strRxBuffer.Find(";");
if (nIndex != -1)
{
strTemp = strRxBuffer.Left(nIndex);
strRxBuffer = strRxBuffer.Mid(nIndex + 1);
m_strLines.AddTail(strTemp);
}
else
{
if (strRxBuffer.GetLength() > BUFFER_OVERFLOW)
{
TRACE0("Buffer Overflow\r\n");
m_strRetData = "ERROR;缓冲区溢出;";
}
break;
}
}
}
注意:传进该方法的值中包含中文的中文部分都是乱码
乱码中的字符将前后的;分号都弄成了乱码,导致拆分的时候缺少了两个字符串,乱码中的字符串是
合同号:甘移通(采购-配套)字【2012】第316号 展开
6个回答
展开全部
项目->属性->配置属性->常规->字符集 改成 未设置 或者 使用多字节字符集
追问
现在就是这样的
现在就是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
优质机构答主
2020-12-18 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
解压文件出现中文乱码怎么办解决办法
华为Mate50 Pro曲面旗舰手机
¥6799
苹果 AirPods Pro 2代
¥1699
索尼65英寸4K HDR专业游戏电视
¥7499
惠普战66五代15.6英寸轻薄本
¥4399
查
看
更
多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编码方式改为 多字节编码。。
更多追问追答
追问
请问可否详细的说一下,或是写个源码,谢谢!
追答
你应该用的vs对吧 vc6.0应该不会出现这个问题。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要指定中文的字符编码呀
追问
请问怎么指定?在哪里指定?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询