C++ при загрузке ответа, сделанного при помощи get запроса русский текст преобразуется в кракозябру

Делаю бота для VK на плюсах, использую эту функцию для загрузки ответа в json формате. Всё отлично скачивается, но русский текст преобразуется в непонятные символы. system("chcp 1251 > nul"); SetConsoleCP(1251); SetConsoleOutputCP(1251); - перепробовал всё это, но результата не дало. Текст передаётся в этой части кода if (!WinHttpReadData(Request, (LPVOID)Outbuffer, Size, &downloaded)) { cout << GetLastError() << endl; } buffer += Outbuffer;

string down(HINTERNET Request) {
    system("chcp 1251 > nul");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    DWORD Size{}, downloaded{};
    char* Outbuffer;
    string buffer{};
    do {
        Size = 0;
        if (!WinHttpQueryDataAvailable(Request, &Size)) {
            cout << "Download error" << endl;
            nlohmann::json err;
            err["failed"] = 2;
            string f = err.dump();
            return f;
        }
        Outbuffer = new char[Size + 1];
        if (!Outbuffer) {
            cout << "lack of memory" << endl;
            Size = 0;
        }
        else {
            ZeroMemory(Outbuffer, Size + 1);
            if (!WinHttpReadData(Request, (LPVOID)Outbuffer, Size, &downloaded)) {
                cout << GetLastError() << endl;
            }
            buffer += Outbuffer;
            delete[] Outbuffer;
        }
    } while (Size > 0);
    return buffer;
}

Ответы (1 шт):

Автор решения: Petuha

Просто забить на эти иероглифы и добавлять u8 перед каждой строкой, с которой буду сравнивать скачанный текст. Например, if(buffer == u8"Привет"){...}

→ Ссылка