Язык для не-Unicode программ меняет чтение ini - PullRequest
0 голосов
/ 16 мая 2011

У меня не-Unicode-приложение, которое использует Unicode-версии функций чтения ini, таких как GetPrivateProfileSectionW и GetPrivateProfileStringW. Программа работает хорошо, когда «Язык для не-Unicode программ» установлен на английский.

Когда я изменяю этот параметр на китайский (PRC), функции GetPrivateProfileSectionW и GetPrivateProfileStringW возвращают ноль.

Я должен сохранить этот параметр на китайском, потому что, если для «Язык для программ, не поддерживающих Юникод» выбран английский язык, CComBSTR.LoadString не работает должным образом, он загружает китайские символы в библиотеку ресурсов в виде вопросительных знаков.

Есть идеи?

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Майкл Каплан объясняет . Решением является использование INI-файлов Unicode, которые не зависят от «Языка для программ, не поддерживающих Unicode».

0 голосов
/ 16 мая 2011

«Язык для программ, не поддерживающих Юникод», также выбирает кодовую страницу по умолчанию, используемую для файлов.Американский английский обычно Windows-1252.Китайский будет чем-то другим, например, GB2312 или GBK.Откройте файл .INI с помощью Блокнота и сохраните его в формате «ANSI», который будет использоваться Microsoft по умолчанию для выбранного языка, кроме Unicode.

...