проблема с кодировкой при импорте из базы данных

wchar_t buff[100];
        for (result::const_iterator c = R.begin(); c != R.end(); ++c) {
            swprintf(buff, 100, L"Имя: %s - %s",Helper::ConvertStringToWstring(c[1].c_str()).c_str(), Helper::ConvertUtf8ToWide(c[2].c_str()).c_str());
            
            gt->DrawString(
                buff,
                -1,
                &myFont,
                origin,
                &sf,
                &blackBrush);
            origin.Y += 30;
        }

static std::wstring ConvertStringToWstring(const std::string& str)
    {
        if (str.empty())
        {
            return std::wstring();
        }
        int num_chars = MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, str.c_str(), str.length(), NULL, 0);
        std::wstring wstrTo;
        if (num_chars)
        {
            wstrTo.resize(num_chars);
            if (MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, str.c_str(), str.length(), &wstrTo[0], num_chars))
            {
                return wstrTo;
            }
        }
        return std::wstring();
    }

При подключении использую кодировку client_encoding=WIN866. При выводе в консоль работает все хорошо, но не может нормально вывестись в DrawString.


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