Hello Господа,
Пытаюсь сделать такое строковое преобразование:
ASCII => UTF8, для этого делаю так
ASCII=>setlocale()=>wchar_t=>setlocale()=>UTF8
Хочется и кажется логичным сделать так:
#include <iostream>
#include <string>
#include <locale>
#include <boost/lexical_cast.hpp>
int main(int argc, char * argv[])
{
std::string ascii="тестовая строка в KOI8-R";
std::setlocale(LC_ALL,"ru_RU.koi8r");
std::wstring wstr = boost::lexical_cast<std::wstring>(ascii);
std::setlocale(LC_ALL, "ru_RU.utf8");
std::string utf8 = boost::lexical_cast<std::string>(wstr);
return 0;
}
Однако ни GCC 3.4.3 ни 4.0.0 это не компилят.