C++ (Qt)QString codec;#ifdef Q_WS_WINswitch (QLocale::language){case QLocale::Russiancodec="CP1251".....}#else//see LANG env.QStringList lang = QProcessEnvironment::systemEnvironment().value("LANG").split('.', QString::SkipEmptyParts);if (lang.count() > 1) codec = lang.at(1).toUpper; //или toLower#endif
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");qDebug() << codec->fromUnicode(textString);
QTextCodec *codec;QString str; //строка, с которой вы будете работать дальше в Qtif (client==urod){codec = QTextCodec::codecForName("Windows-1251");}else if (client==utf8_lover){codec = QTextCodec::codecForName("utf-8");}else{//такого клиента я не знаю, пусть пользователь выберет кодировку вручную}str = codec->toUnicode(ba);