Я написал небольшой фрагмент кода, подобный этому
// Handle = notepad
// set text to send
std::wstring message_to_send = L"xin chào bạn";
// send message
DWORD_PTR result;
SendMessageTimeoutW(Handle, WM_SETTEXT, (WPARAM)0, (LPARAM)message_to_send.c_str(), SMTO_ABORTIFHUNG, 1000, &result);
но текст, вставленный в блокнот, неверен:
xin chà o bạn
Где я ошибся, что мне нужно сделать, чтобы это исправить?
Я пытаюсь установить настройки проекта Use Unicode Character Set и сохранить файл как кодировку UTF8, но все равно возникает ошибка.
Попробуйте установить язык вашей страны или страницу Unicode 65001.i.sstatic.net/73U9hdeK.png





Как сказал @Remy Lebeau: результат, который вы показываете, выглядит как UTF-8, который вместо этого был неправильно интерпретирован в кодировке ISO/Latin. Вы можете сообщить компилятору, что файл имеет формат UTF-8.
Вы можете установить его как Visual Studio здесь:
См. параметры компилятора /source-charset и /utf-8 .
«сохранить файл в кодировке UTF8» — вы сказали компилятору, что файл имеет кодировку UTF-8? Результат, который вы показываете, выглядит как UTF-8, который вместо этого был неправильно интерпретирован в кодировке ISO/Latin. См. параметры компилятора /source-charset и /utf-8 .