Имеется программа
#include <conio.h>
#include <iostream>
#include <boost/locale.hpp>
using namespace boost::locale;
using namespace std;
int wmain()
{
generator gen;
locale loc=gen("ru_RU.UTF-8");
wcout.imbue(loc);
wcout<<L"Русский текст"<<endl;
_getch();
return 0;
}
Программа должна корректно выводить текст в консоли Windows в кодировке UTF-8.
Понятное дело что просто так она это не выводит.
Ставлю для cmd.exe шрифт Lucinda Console.
Ставлю кодировку — chcp 65001 (кодировка UTF-8).
Запускаю в полученной среде программу.
На экране либо пустота либо квадраты (Windows XP/7).
Делаю операцию
Test.exe >1.txt
type 1.txt
На экране:
Русский текст.
Что за нафиг? Как это лечить? Я хочу чтобы в самой программе вывод был нормальный.