Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Кириллица Qt демон  (Прочитано 1285 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн OHara

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Кириллица Qt демон
« : 11 Июля 2014, 13:18:15 »
Сервер 12.04. Приложение написано на Qt 5.3.1 как демон. В коде есть такая строка qDebug() << "Привет всем!". При запуске демона при старте системы в log-файле имеем ?????? ????! Если же стартовать демон из терминала, то все ок. Натолкните на мысль, плиз.
« Последнее редактирование: 11 Июля 2014, 16:04:53 от OHara »

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1690
  • А чего вы так смотрите?..
    • Просмотр профиля
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: Кириллица Qt демон
« Ответ #2 : 11 Июля 2014, 13:35:55 »
Зачем в демоне русский? :-\
Извините, я все еще учусь

Оффлайн OHara

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: Кириллица Qt демон
« Ответ #3 : 11 Июля 2014, 14:35:26 »
Зачем в демоне русский? :-\
например,в файле конфигурации есть кириллические строки. Демон их читает и  отдает клиенту, клиент может изменить конфигурацию и дать команду демону сохранить ее. Демон сохраняет конфигурацию, в которой есть кириллические строки - вот и получается засада.


Пользователь решил продолжить мысль 11 Июля 2014, 15:29:27:
http://stackoverflow.com/questions/13313896/changing-locale-in-qt

Код:
(Нажмите, чтобы показать/скрыть)

Имеем:
???????? ??????
???????? ??????
???????, 11 ???? 2014 ?. ru_RU

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

Пользователь решил продолжить мысль 11 Июля 2014, 16:36:17:
Если кому-то будет полезно:
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
« Последнее редактирование: 11 Июля 2014, 16:36:17 от OHara »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: Кириллица Qt демон
« Ответ #4 : 11 Июля 2014, 16:49:46 »
Извините, я все еще учусь

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Кириллица Qt демон
« Ответ #5 : 14 Июля 2014, 12:30:19 »
Я пишу так, но вероятно, можно и по другому
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
PS. А по сути, в демоне нужно все писать на англосакском.
« Последнее редактирование: 14 Июля 2014, 12:43:37 от alexander.pronin »

 

Страница сгенерирована за 0.037 секунд. Запросов: 25.