非 unicode 程序的语言更改 ini 读取

发布于 2024-11-07 17:23:17 字数 351 浏览 0 评论 0原文

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

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

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

有什么想法吗?

谢谢。

I've a non-unicode application which is using unicode versions of the ini reading functions like GetPrivateProfileSectionW and GetPrivateProfileStringW. The program is working well when "Language for non-unicode programs" is set to English.

When I change this setting to Chinese (PRC), the functions GetPrivateProfileSectionW and GetPrivateProfileStringW return null.

I must keep this setting at Chinese, because when English is selected for "Language for non-unicode programs", CComBSTR.LoadString is not working as expected, it loads the Chinese characters in a resource DLL as question marks.

Any ideas?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花落人断肠 2024-11-14 17:23:17

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

Michael Kaplan explains. The solution is to use Unicode INI files, which don't depend on the "Language for non-unicode programs".

GRAY°灰色天空 2024-11-14 17:23:17

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

The "Language for non-Unicode programs" also selects the default code page used for files. US English is usually Windows-1252. Chinese will be something different, like GB2312 or GBK. Open your .INI file with Notepad and save it with the "ANSI" format, which will be whatever Microsoft's default for the non-Unicode language selected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文