我有一个非unicode的应用程序,它使用unicode版本的ini读取函数,如GetPrivateProfileSectionW和GetPrivateProfileStringW。当"Language for non-unicode programs“设置为”English“时,程序工作正常。
当我将此设置更改为中文(中国)时,函数GetPrivateProfileSectionW和GetPrivateProfileStringW返回null。
我必须将此设置保持为中文,因为当为“非unicode程序的语言”选择英语时,CComBSTR.LoadString不会按预期工作,它会将资源动态链接库中的中文字符作为问号加载。
有什么想法吗?
谢谢。
发布于 2011-05-17 15:48:25
迈克尔·卡普兰explains。解决方案是使用Unicode INI文件,它不依赖于“非unicode程序的语言”。
发布于 2011-05-17 00:41:10
“非Unicode程序的语言”还选择用于文件的默认代码页。美国英语通常是Windows-1252。中文将是不同的东西,就像GB2312或GBK。使用记事本打开您的.INI文件,并将其保存为"ANSI“格式,这将是微软对所选非Unicode语言的默认格式。
https://stackoverflow.com/questions/6020312
复制相似问题