0

我有一个非 unicode 应用程序,它使用 unicode 版本的 ini 读取函数,如 GetPrivateProfileSectionW 和 GetPrivateProfileStringW。当“非 unicode 程序的语言”设置为英语时,该程序运行良好。

当我将此设置更改为中文 (PRC) 时,GetPrivateProfileSectionW 和 GetPrivateProfileStringW 函数返回 null。

我必须保持这个设置为中文,因为当为“非 unicode 程序的语言”选择英文时,CComBSTR.LoadString 没有按预期工作,它将中文字符加载到资源 DLL 中作为问号。

有任何想法吗?

谢谢。

4

2 回答 2

1

迈克尔·卡普兰解释道。解决方案是使用 Unicode INI 文件,它不依赖于“非 unicode 程序的语言”。

于 2011-05-17T07:48:25.023 回答
0

“非 Unicode 程序的语言”也选择用于文件的默认代码页。美国英语通常是 Windows-1252。中文会有所不同,比如 GB2312 或 GBK。使用记事本打开您的 .INI 文件并以“ANSI”格式保存,这将是 Microsoft 对所选非 Unicode 语言的默认设置。

于 2011-05-16T16:41:09.653 回答