Visual c++ MFC对话框窗体上的特殊字符

Visual c++ MFC对话框窗体上的特殊字符,visual-c++,mfc,Visual C++,Mfc,在静态文本标签上进行表单设计时,我可以看到特殊字符: 这些字符在运行时被更改: 如果我以编程方式设置这些字符,我有: 如何确保显示正确的字符,而不是上面屏幕截图中显示的问号 UPD: 我的项目是多字节的。我发现在另一台电脑里我可以看到特殊的字符。为什么?您需要使用Unicode字符集才能正常工作,我猜您现在使用的是MBCS字符集 您可以在项目属性中对其进行更改。请参阅此屏幕截图: VisualStudioEditor是完全Unicode的,这意味着它可以显示您在设计对话框时键入的特殊字符。

在静态文本标签上进行表单设计时,我可以看到特殊字符:

这些字符在运行时被更改:

如果我以编程方式设置这些字符,我有:

如何确保显示正确的字符,而不是上面屏幕截图中显示的问号

UPD:


我的项目是多字节的。我发现在另一台电脑里我可以看到特殊的字符。为什么?

您需要使用Unicode字符集才能正常工作,我猜您现在使用的是MBCS字符集

您可以在项目属性中对其进行更改。请参阅此屏幕截图:


VisualStudioEditor是完全Unicode的,这意味着它可以显示您在设计对话框时键入的特殊字符。但是,如果应用程序不是使用Unicode支持构建的,则在运行时将无法显示thsoe字符。这就是你为什么看到这个???运行应用程序时替换Unicode文本。

您需要使用Unicode字符集才能正常工作,我猜您现在使用的是MBCS字符集

您可以在项目属性中对其进行更改。请参阅此屏幕截图:


VisualStudioEditor是完全Unicode的,这意味着它可以显示您在设计对话框时键入的特殊字符。但是,如果应用程序不是使用Unicode支持构建的,则在运行时将无法显示thsoe字符。这就是你为什么看到这个???运行应用程序时替换Unicode文本。

如果在不同的计算机上得到不同的结果,这显然是由于系统设置的不同

控制此设置的设置称为“非Unicode程序的语言”,可以在“控制面板”、“语言”、“更改日期、时间或数字格式”下找到。不幸的是,这是一个全局设置(即不能针对每个应用程序或以编程方式设置),需要重新启动


如果可能的话,考虑将您的应用程序设置为Unicode(并且在成本或工作量方面都有意义)。

如果您在不同的计算机上得到不同的结果,这显然是由于系统设置的不同

控制此设置的设置称为“非Unicode程序的语言”,可以在“控制面板”、“语言”、“更改日期、时间或数字格式”下找到。不幸的是,这是一个全局设置(即不能针对每个应用程序或以编程方式设置),需要重新启动


如果可能的话,考虑将您的应用程序设置为Unicode(从成本或工作量角度来看都是有意义的)。

是的,我的项目是多字节的,但我不想更改它,因为我在这样做时有很多编译错误。我发现在另一台电脑里我可以看到特殊的字符。为什么?我知道您在移植到Unicode时可能会遇到一些问题,但请随时在此寻求帮助以解决这些问题。这里有一个可能会让您开始的指南:如果您不想将项目更改为Unicode,请将
::SetDlgItemTextW(m_hWnd,IDC_STATIC_X,L“ąęį”)
作为补丁放在*.cpp代码中…是的,我的项目是多字节的,但我不想更改它,因为我在这样做时有很多编译错误。我发现在另一台电脑里我可以看到特殊的字符。为什么?我知道您在移植到Unicode时可能会遇到一些问题,但请随时在此寻求帮助以解决这些问题。这里有一个可能会让您开始的指南:如果您不想将项目更改为Unicode,请将
::SetDlgItemTextW(m_hWnd,IDC_STATIC_X,L“ąęį”)
作为补丁放在*.cpp代码中。。。