Имеем базу MySQL. В ней огромная таблица в кодировке CP1251.
Выполняем к ней запрос и вытаскиваем данные, записанные кириллицей.
За тем отображаем данные в консольном приложении:
Код: Выделить всё
char cod[20], tel[20], name[100], selo[50], street[100], home[20], ap[20];
//*****************************
void display(char text[1000])
{
char disp[1000];
CharToOem(text, disp);
printf("%s\n", disp);
}
//*****************************
void main(void)
{
........................//Запросы в БД и прочее.
..............
..................
.......................
//Тут мы выводим результат на экран.
sprintf(out, "Код: %s", cod);
display(out);
sprintf(out, "Телефон: %s", tel);
display(out);
sprintf(out, "Владелец: %s", name);
display(out);
sprintf(out, "Населённый пункт: %s", selo);
display(out);
sprintf(out, "Улица: %s", street);
display(out);
sprintf(out, "Дом: %s", home);
display(out);
sprintf(out, "Квартира: %s", ap);
display(out);
_getch();
}
В итоге получаем это:

Как с этим бороться? Такие записи, как:
Код: Выделить всё
setlocale( LC_ALL,".1251" );
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
system("chcp 1251");
...... не помогают. Помогите ламеру.