MFC LoadStringW не загружает японскую строку должным образом из таблицы строк - PullRequest
0 голосов
/ 11 октября 2011

В моем приложении MFC для набора символов установлено значение «Многобайтовый», я пытаюсь загрузить японскую строку, хранящуюся в таблице строк, с помощью функции LoadStringW, чтобы загрузить строку из таблицы строк, но она всегда читает ненужные символы.

Видите ли вы какие-либо проблемы в моем подходе?

Я не хочу менять набор символов на Unicode.

Еще одна интересная вещь: я создал другое примерное приложение и вставил одну из японских строк из основного проекта в таблицу строк нового образца, а затем попытался загрузить японскую строку с помощью LoadStringW, после чего она работает (набор символов является многобайтовым дляпример приложения.)

WCHAR wBuf[1024];
int rc;

// load the string from resource file into a wide character array.
rc = LoadStringW(hInstance,iResourceID, wBuf, 1024);

1 Ответ

2 голосов
/ 11 октября 2011

Обязательно сохраните файл ресурсов в формате utf-16, а не в формате ANSI.Visual Studio прекрасно справляется с этими файлами.

Чтобы сохранить его, откройте файл в Visual Studio как текст.Затем в меню файла выберите Advanced Save Options, а затем в диалоговом окне укажите Unicode - Codepage 1200.

Затем сохраните файл еще раз.

После этого строки ресурсов будут работать, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...