LINUX.ORG.RU

Ответ на: комментарий от Trieforce

Дело было не в бабине. мне трудно гадать по кофейной гуще чего ты там еще наделал.

MikeDM ★★★★★
()
Ответ на: комментарий от Trieforce

Можно ли работать с кириллическими ключами в Qt с json?

Какой класс для json юзаешь? Родной кьютовый или сторонний?

MikeDM ★★★★★
()
Ответ на: комментарий от Trieforce

не уверен, попробуй так

#ifdef Q_OS_WIN32
    #define SYS_CODEC "CP1251"
    #define SYS_TERM_CODEC "866"
#elif defined Q_OS_UNIX
    #define SYS_CODEC "UTF-8"
    #define SYS_TERM_CODEC "UTF-8"
#else
// Another OS
#endif
 QTextCodec *incodec = QTextCodec::codecForName(SYS_CODEC);
    QTextCodec *outcodec = QTextCodec::codecForName(SYS_TERM_CODEC); //for Winconsole. example: std::cout << outcodec->fromUnicode(s).constData() << std::endl
    QTextCodec::setCodecForTr(incodec);
    QTextCodec::setCodecForCStrings(incodec);
    QTextCodec::setCodecForLocale(incodec);
qWarning() << foo.value(QString::tr("К")).type();
splinter ★★★★★
()
Ответ на: комментарий от Trieforce

за 5 кьют ничем помочь не могу. не юзал его еще. жду более стабильного релиза.

MikeDM ★★★★★
()
Ответ на: комментарий от Trieforce

qWarning() << foo.value(QString::tr(«К»)).type();

А зачем QString(«K»)? оно же если в «» уже по любому string.
попробуй:
qWarning() << foo.value(QObject::tr(«К»)).type();

splinter ★★★★★
()

В какой кодировке у тебя текст в исходниках?

Если в UTF-8, то такой костыль в main() перед application.exec() помогает?

QTextCodec* codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForTr(codec);

m0rph ★★★★★
()
Ответ на: комментарий от m0rph

В Qt5.1

QTextCodec has undergone the following changes:

  • QTextCodec::codecForCStrings() and QTextCodec::setCodecForCStrings() are removed as they were creating uncertainty/bugs in using QString easily and (to a lesser extent) performance issues.
  • QTextCodec::codecForTr() and QTextCodec::setCodecForTr() are removed.
Trieforce
() автор топика
Последнее исправление: Trieforce (всего исправлений: 1)

Спроси лучше на Qt Project'е.

anonymous
()

Слушай, я как-то года три назад с чем-то таким сталкивался. Не помню, что там было конкретно, но какая-то лажа с обработкой не-ASCII в QJson. Баг я им отослал, а у себя зафиксил сам.

Miguel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.