Кириллица Qt демон



  • Ubuntu Server 12.04. Приложение написано на Qt 5.3.1 как демон. Код
    @QLocale curLocale(QLocale("ru_RU"));
    QLocale::setDefault(curLocale);
    QString testStr = "Проверка локали";
    qDebug() << testStr;

    QDate date = QDate::currentDate();
    QString dateString = QLocale().toString(date);
    qDebug() << dateString;
    qDebug() << QLocale().name();
    
    QFile file&#40;"testlocale"&#41;;
    if(file.open(QFile::WriteOnly | QFile::Text&#41;)
    {
        QTextStream(&file) << testStr << "\n";
        QTextStream(&file) << testStr.toLocal8Bit() << + "\n";
        QTextStream(&file) << dateString << " " << QLocale().name();
        file.close();
    }
    FILE* fPtr = fopen&#40;"testlocale.txt","w"&#41;;
    if(fPtr&#41; {
        fprintf(fPtr,"Проверка локали"&#41;;
        fclose(fPtr);
    }
    

    @
    При запуске демона при старте системы в файле testlocale имеем
    ???????? ??????
    ???????? ??????
    ???????, 11 ???? 2014 ?. ru_RU

    А в файле testlocale.txt все как должно быть: то есть по-русски.

    Если же стартовать демон из терминала, то все ок. Натолкните на мысль, плиз.

    Проблема решена:
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.