Имеется тестовое приложение с MFC, не unicode
Имеется код:
CString str;
str.LoadString ( IDS_TEST1 );
IDS_TEST1 — строка на русском.
Код работает.
Идем в панель управления, Regional and language options, Закладка Regional options (первая), в
верхнем комбобоксе выбираем латышский язык (Latvian).
Теперь в str загружаются знаки вопроса.
1. Это что, так и должно быть?
Отладка показала, что лажает функция WideCharToMultiByte. Похоже, строки в ресурсах хранятся в двухбайтовой кодировке, и эта функция должна их законвертить в однобайтовую. Видимо она не может найти двухбайтовые коды русских символов в латышской таблице, и поэтому заменяет их вопросами.
2. Как с этим бороться?
::setlocale( LC_ALL, "Russian_Russia.ACP" );
не помогает.