问题描述
- CString类型(汉字)转换为wchar_t类型时显示的为乱码
-
如题,从编辑框中提取汉字,取出为CString类型的,将此变量转换为wchar____t类型的变量,显示出来为乱码,但是当输入的为英文字母时,显示的就是正确的,不知道问题出现在哪里,求大神指点
!
部分程序:
解决方案
最简单的将你的工程设置为Unicode编码的。
解决方案二:
如何从 wchar_t * 转换为其他字符串类型
解决方案三:
_tsetlocale(LC_ALL, _T("chs")); //加上这句,没加的话可能乱码
USES_CONVERSION;
WCHAR wStr[] = L"王小二";
wprintf(L"UNICODE Str = %s
", wStr);
printf("W2A Convert = %s
", W2A(wStr));
_tprintf(_T("W2T Convert = %s
"), W2T(wStr));
CHAR aStr[] = "李大麻";
printf("MBCS Str = %s
", aStr);
wprintf(L"A2W Convert = %s
", A2W(aStr));
_tprintf(_T("A2T Convert = %s
"), A2T(aStr));
_tsystem(_T("PAUSE"));
解决方案四:
nText是字符,设置成数组或指针都可,指针的话先分配内存
解决方案五:
问题大致解决了,设置成Unicode编码的可以,但是如果这样设置,我的程序太大需要改好多东西,因为用的是vc6.0,也不能兼容,将这部分程序转到vc2008中就好使了
解决方案六:
问题大致解决了,设置成Unicode编码的可以,但是如果这样设置,我的程序太大需要改好多东西,因为用的是vc6.0,也不能兼容,将这部分程序转到vc2008中就好使了
时间: 2024-11-01 16:57:31