C++ Кодировка
выводе квадратики. Пробовал iconv - не получилось. Работаю в Visual Studio 2010.

#include "StdAfx.h"

#include
#include
#include
#include

using namespace std;
//объявление данных массива
float *betmas = new float;
float *marmas = new float;
float *fonmas = new float;

//объявляем буфер, для хранения возможной ошибки, размер определяется в самой библиотеке
static char errorBuffer[CURL_ERROR_SIZE];
//объялвяем буфер принимаемых данных
static string buffer;
//функция обратного вызова
static int writer(char *data, size_t size, size_t nmemb, string *buffer)
{
//переменная - результат, по умолчанию нулевая
int result = 0;
//проверяем буфер
if (buffer!= NULL)
{
//добавляем к буферу строки из data, в количестве nmemb
buffer->append(data, size * nmemb);
//вычисляем объем принятых данных
result = size * nmemb;
}
//вовзращаем результат
return result;
}

//функция получение массива с Бетсити
void getbetmas(void)
{
//необходимые CURL объекты
CURL *curl;
CURLcode result;
//инициализируем curl
curl = curl_easy_init();
//проверяем результат инициализации
if (curl)
{
//задаем все необходимые опции
//определяем, куда выводить ошибки
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorBuffer);
//задаем опцию - получить страницу по адресу http://wap.betcityru.com/live.php?m=bets
curl_easy_setopt(curl, CURLOPT_URL, "http://wap.betcityru.com/live.php?m=bets");
//указываем прокси сервер
//curl_easy_setopt(curl, CURLOPT_PROXY, "proxy:8080");
//задаем опцию отображение заголовка страницы
curl_easy_setopt(curl, CURLOPT_HEADER, 1);
//указываем функцию обратного вызова для записи получаемых данных
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writer);
//указываем куда записывать принимаемые данные
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &buffer);
//запускаем выполнение задачи
result = curl_easy_perform(curl);

//проверяем успешность выполнения операции
if (result == CURLE_OK)
//выводим полученные данные на стандартный вывод (консоль)
cout < < buffer << "n";
else
//выводим сообщение об ошибке
cout < < "Ошибка " << errorBuffer << endl;
}
//завершаем сессию
curl_easy_cleanup(curl);
}

int main(void)
{
//изменяем кодировку
SetConsoleCP (CP_UTF8);
SetConsoleOutputCP (CP_UTF8);

system("cls");
getbetmas();
return 0;

}

В консоле стоит Lucida Console.
В дебаггере находится страница в UTF-8 в кракозябрах

  • В Google искать wchar.h и wchar_t
  • Windows работает в кодировке CP1251, надо ставить SetConsoleCP(1251);
    char *loc=setlocale(LC_ALL,"rus");