中文字体乱码了

时间:2021-10-23 06:40:45
我在Dialog里添加了一个CTabCtrl,CTabCtrl的每个选项我都是用Dialog中的FORMVIEW显示的,在此Dialog里我添加Group Box,并在里面添加控件Static Text和按钮,如果设置显示中文字符,则是乱码

请问该怎么解决啊?
谢谢了啊
中文字体乱码了

15 个解决方案

#1


在  项目-属性-配置属性-常规-字符集,调整看

#2


引用 1 楼 hztj2005 的回复:
在 项目-属性-配置属性-常规-字符集,调整看


正确。。

#3


出现了很多这种错误

E:\大庆油田\历史文档\DataCollect\Terminal\Terminal\MySocket.cpp(56) : error C2664: 'void __cdecl CString::Format(const unsigned short *,...)' : cannot convert parameter 1 from 'char [3]' to 'const unsigned short *'

出错代码:
CString msg;
char pbuf[100] ;
int size = 100;
int irc;
irc = Receive(pbuf,size);
pbuf[irc] = 0;

msg.Format("%s", pbuf);

#4


你当前工程是什么编码?多字节还是Unicode呢?

#5


请使用unicode,这样在英文版的windows也能正常显示

#6


Project-->Settings,在C/C++属性页中选择Preprocessor条目,在Preprocessor definitions中添加编译项 _UNICODE;

#7


解决没

#8


没有啊~
突然出现了
Generating Code...
Linking...
LINK : fatal error LNK1104: cannot open file "mfcs42ud.lib"
Error executing link.exe.
但是我安装了啊

之前就按照

LINK : fatal error LNK1104: cannot open file "mfc42ud.lib"
缺少支持Unicode的文件;MFC安装的时候,默认是不安装支持Unicode的相关文件的

把lib放到vc的mfc\lib下,dll放到windows\system32下。


#9


编译 运行通过了 
还是乱码~
头大

#10


引用 9 楼 ogiso_pest 的回复:
编译 运行通过了 
还是乱码~
头大

你最开始的字符类型是什么

#11


我所有原来编译有问题的
使用_T()就好了我又重新试验了下
弄个了Edit Box
初始化=_T("你好");
就没有问题

中文字体乱码了

#12


我添加了一个Button,在properties里设置caption为“你好”
又是乱码了~
貌似使用这种caption设置都是乱码啊

#13


但是如果我定义了CButton变量,然后设置 m_button.SetWindowText(_T("你好"));
又可以正常显示了啊

#14


该回复于2011-05-03 08:54:12被版主删除

#15


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#1


在  项目-属性-配置属性-常规-字符集,调整看

#2


引用 1 楼 hztj2005 的回复:
在 项目-属性-配置属性-常规-字符集,调整看


正确。。

#3


出现了很多这种错误

E:\大庆油田\历史文档\DataCollect\Terminal\Terminal\MySocket.cpp(56) : error C2664: 'void __cdecl CString::Format(const unsigned short *,...)' : cannot convert parameter 1 from 'char [3]' to 'const unsigned short *'

出错代码:
CString msg;
char pbuf[100] ;
int size = 100;
int irc;
irc = Receive(pbuf,size);
pbuf[irc] = 0;

msg.Format("%s", pbuf);

#4


你当前工程是什么编码?多字节还是Unicode呢?

#5


请使用unicode,这样在英文版的windows也能正常显示

#6


Project-->Settings,在C/C++属性页中选择Preprocessor条目,在Preprocessor definitions中添加编译项 _UNICODE;

#7


解决没

#8


没有啊~
突然出现了
Generating Code...
Linking...
LINK : fatal error LNK1104: cannot open file "mfcs42ud.lib"
Error executing link.exe.
但是我安装了啊

之前就按照

LINK : fatal error LNK1104: cannot open file "mfc42ud.lib"
缺少支持Unicode的文件;MFC安装的时候,默认是不安装支持Unicode的相关文件的

把lib放到vc的mfc\lib下,dll放到windows\system32下。


#9


编译 运行通过了 
还是乱码~
头大

#10


引用 9 楼 ogiso_pest 的回复:
编译 运行通过了 
还是乱码~
头大

你最开始的字符类型是什么

#11


我所有原来编译有问题的
使用_T()就好了我又重新试验了下
弄个了Edit Box
初始化=_T("你好");
就没有问题

中文字体乱码了

#12


我添加了一个Button,在properties里设置caption为“你好”
又是乱码了~
貌似使用这种caption设置都是乱码啊

#13


但是如果我定义了CButton变量,然后设置 m_button.SetWindowText(_T("你好"));
又可以正常显示了啊

#14


该回复于2011-05-03 08:54:12被版主删除

#15


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法