vs2010 AfxMessageBox显示中文乱码? 之前一直好好的,,今天突然显示出来的出来的都是乱码,,怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 之前我也遇到这种情况,后来把AfxMessageBox那一行全部删了,再每个字符的敲,就好了。 分别用MessageBoxA和MessageBoxW试试看。 我知道! 哈哈 因为你的vs是英文版吧 工程创建的时候 默认选择的是英文 选中文就可以了 我在vs08也遇到过 汗, 和这个无关吧? 字符串是Unicode就ok了. 在哪里可以设置?而且貌似不是这个问题,,我创建的时候也是英文的但是AfxMessageBox正常的,只是某一次打开的时候,没做过什么就变成这样了。。我现在新建一个工程,,还是选英文也没有这个问题 看看你的工程属性 的 字符集 选的是不是unicode Character Set 那设置的是 Use Unicode Character Set 有意思 解决了说下哈 关注你试下在那行 Cstring str = _T("测试!"); 看下输出什么 我新建个工程或者打开别的工程AfxMessageBox都可以正常显示中文,,就只有这个工程莫名奇妙变成这样 [Quote=引用 15 楼 ufolbb 的回复:]引用 14 楼 yaozhiyong110 的回复:有意思 解决了说下哈 关注你试下在那行 Cstring str = _T("测试!"); 看下输出什么我新建个工程或者打开别的工程AfxMessageBox都可以正常显示中文,,就只有这个工程莫名奇妙变成这样[/Quote 我意思是你调试这个str 显示什么? Cstring str = _T("测试!"); 这时候str是乱的吗? 是英文系统吗?Regional and Language Options设置一下 中文的,,win7 旗舰版,,Regional and Language Options那都是对的。。我说了别的工程都没问题,,只有一个工程变这样了 我也遇到过这样的问题,把MessageBox-》MessageBoxA就可以了 项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。 LZ的帖子很早了,图片看不到了。不过今天我也遇到了使用AfxMessageBox()函数出现乱码问题,根据楼上的一些回复改了下,发现都不行,MessageBox()函数也是,总是乱码。后来没办法,用了个不是办法的办法,大致如下:CString msg ;msg = (CString)"这里是要显示的信息";AfxMessageBox(msg) ;这样能正常显示,但是看别人的代码直接使用AfxMessageBox(“这里是要显示的信息”);就没有出现乱码情况。对了,我用的是VS TEAM SYSTEM 2008,不知道是不是这个编译器的问题 做一个后台找屏幕图形的外挂. CArray 释放内存的问题 窗体透明机制 窗体间相互访问有哪些方法呢? 关于VC中CLW的,我原来的项目现在不能用classview了,不能打开资源。怎么回事 对阻塞中的线程调用SuspendThread,会发生什么事? 数据显示 datagrid 和listctrl,用哪个好。 CTime类型的数据可以转换为一个DWORD的数据来传递吗 有关键盘热键的一个问题 如何改变CFormView大小 今天最后一个工作日,明天回家喽,散分喽!!! 分割窗口如何收缩与伸展
汗, 和这个无关吧? 字符串是Unicode就ok了.
在哪里可以设置?而且貌似不是这个问题,,我创建的时候也是英文的但是AfxMessageBox正常的,只是某一次打开的时候,没做过什么就变成这样了。。
我现在新建一个工程,,还是选英文也没有这个问题
引用 14 楼 yaozhiyong110 的回复:
有意思 解决了说下哈 关注你试下在那行 Cstring str = _T("测试!"); 看下输出什么我新建个工程或者打开别的工程AfxMessageBox都可以正常显示中文,,就只有这个工程莫名奇妙变成这样
[/Quote 我意思是你调试这个str 显示什么?
Cstring str = _T("测试!"); 这时候str是乱的吗?
中文的,,win7 旗舰版,,Regional and Language Options那都是对的。。我说了别的工程都没问题,,只有一个工程变这样了
不过今天我也遇到了使用AfxMessageBox()函数出现乱码问题,根据楼上的一些回复改了下,发现都不行,MessageBox()函数也是,总是乱码。
后来没办法,用了个不是办法的办法,大致如下:
CString msg ;
msg = (CString)"这里是要显示的信息";
AfxMessageBox(msg) ;
这样能正常显示,但是看别人的代码直接使用
AfxMessageBox(“这里是要显示的信息”);
就没有出现乱码情况。
对了,我用的是VS TEAM SYSTEM 2008,不知道是不是这个编译器的问题