Díky moc za pomoc. Nakonec se mi zalíbilo řešení od Kenvela. Takhle to funguje skvěle pod Windows i Linux a pořád můžu zůstat u UTF-8 stringů :-).
#include <iostream>
#include <locale>
#include <stdexcept>
#ifdef __unix__
#define CZ "cs_CZ.utf8"
#else
#define CZ "cs-CZ"
#endif
using namespace std;
int main(void) {
try {
locale cz(CZ);
locale::global(cz);
}
catch (std::runtime_error) {
cerr << "Nepodarilo se nastavit ceske prostredi..." << endl;
return 1;
}
cout << "Příliš žluťoučký kůň úpěl ďábelské ódy" << endl;
return 0;
}
Ještě nevíte náhodou, jestli mi to cs-CZ pokrývá všechny platformy, nebo se někde používá ještě nějaká jiná kombinace? Žádnej oficiální seznam jsem nenašel.
Jinak ještě jednou díky ;-).