vc++中文乱码怎么办?求救!!!
win8.1系统,64位,不只是写程序时乱码,想跟着网上教程改一下中文字体的,发现工具栏也乱码,求救~求救!输入文件名时也会乱码,总之就是菜单栏会乱码啦,求各位大神帮助~...
win8.1系统,64位,不只是写程序时乱码,想跟着网上教程改一下中文字体的,发现工具栏也乱码,求救~
求救!输入文件名时也会乱码,总之就是菜单栏会乱码啦,求各位大神帮助~ 展开
求救!输入文件名时也会乱码,总之就是菜单栏会乱码啦,求各位大神帮助~ 展开
3个回答
展开全部
CString类支持编码转换,使用CString完全没有必要使用MultiByteToWideChar,因为这里面已经内置的转换了。
如果你的工程是UNICODE模式,那么str=charpoint的时候,转换就已经发生。如果不是,那么只要资源中指定中文字符集,那么显示多字节的中文也是没有问题的。
CString类的源码如下:
#ifdef _<a href="https://www.baidu.com/s?wd=UNICODE&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9njm1PWmvmH-bmHcvuyPB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHRLn1bdrjbsn1c1njRdPHbsn0" target="_blank" class="baidu-highlight">UNICODE</a>
const CString& CString::operator=(LPCSTR lpsz)
{
int nSrcLen = lpsz != NULL ? lstrlenA(lpsz) : 0;
AllocBeforeWrite(nSrcLen);
_mbstowcsz(m_pchData, lpsz, nSrcLen+1);//这个就是MultiByteToWideChar
ReleaseBuffer();
return *this;
}
#else //!_<a href="https://www.baidu.com/s?wd=UNICODE&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9njm1PWmvmH-bmHcvuyPB0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHRLn1bdrjbsn1c1njRdPHbsn0" target="_blank" class="baidu-highlight">UNICODE</a>
const CString& CString::operator=(LPCWSTR lpsz)
{
int nSrcLen = lpsz != NULL ? wcslen(lpsz) : 0;
AllocBeforeWrite(nSrcLen*2);
_wcstombsz(m_pchData, lpsz, (nSrcLen*2)+1);
ReleaseBuffer();
return *this;
}
#endif //!_UNICODE
建议你,还是检查一下MYSQL里面保存的字符串,是如何定义的字段属性,从这里查起。
优质机构答主
2020-12-23 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
解压文件出现中文乱码怎么办解决办法
华为Mate50 Pro曲面旗舰手机
¥6799
苹果 AirPods Pro 2代
¥1699
索尼65英寸4K HDR专业游戏电视
¥7499
惠普战66五代15.6英寸轻薄本
¥4399
查
看
更
多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
典型的不兼容问题
追问
请问怎么改兼容性呀~我就是个按照百度经验改的~改了好几个都是这样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询