头文件中要定义过
#define _UNICODE
这是最主要的,这样编译时会用 unicode 库。
class CString 使用 TCHAR data 类型, 本身就支持 unicode
程序里用 宏 _T 转换普通字符串 到 unicode
程序里用 TCHAR 代替原来用的char
用LPTSTR 代替原来用的 char
用LPCTSTR 代替原来用的 const char
首先,这应该是乱码。
MFC中通常每个函数都有两种形式,一个ASCII,一个unicode,
对话框:MessageBoxA("HELLO,WORLD", "TITLE", 0);这个是ASCII形式,每个字8位。
MessageBoxW(L"HELLO,WORLD",L"TITLE", 0);//这个是UNICODE形式,16位,汉字通常写在这个函数里。
而MessageBox这个函数是根据宏定义而来的,有可能是A,也有可能是W。
如果楼主知道以上知识点,还产生以上问题的话,建议楼主在win32中调用函数,查看是否有乱码。
如果问题同上,那应该是系统字库的原因,否则,就是MFC的原因啦。
看一下你工程文件选择的字符集是Unicode还是multi-char,然后确认一下你的文本内容是不是和之相一致。还有确认你的 *** 作系统是中文还是英文,如果是英文可能会出现这样的问题,需要确认相关语言支持是否安装。
首先到“资源视图”[Resource View]中找到对话框的ID号,对其右击选择“属性”[Properties],然后在右边的属性栏中找到“语言”[Language]项,默认是英语(美国),改成中文(中国),OK,问题解决。
这样既可以正常显示中文,又可以显示英文,一举两得,省了不少麻烦。
如果所有的对话框程序都是中文的话建议在建立项目的时候务必把“资源语言”[Resorce Language]设置为“中文(中国)”。
这样在后期就不用担心遇到这样棘手的问题了。
以上就是关于怎么解决MFC的CHttpFile:ReadString的Unicode乱码全部的内容,包括:怎么解决MFC的CHttpFile:ReadString的Unicode乱码、mfc d出对话框 类似韩文乱码、Microsoft Visual C++ 6.0 编辑MFC程序,在运行后的文本框中出现乱码!!求解决!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)