Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 23.01.2015
Сообщений: 60
1

Русский язык в JSON сообщениях

24.03.2016, 15:00. Показов 3125. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Вопрос такой:
Я с помощью QNetworkAccessManager посылаю запрос и получаю объект QNetworkReply, из которого функцией readAll() читаю содержимое. Если вывести это содержимое в консоль, то получается что-то в духе:

\xD0\x91\xD1\x83\xD1\x92

Скажите, что это за формат, и каким образом можно получить QString, содержащий обычные русские буквы?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2016, 15:00
Ответы с готовыми решениями:

Русский язык в консоли
Подскажите пожалуйста как заставить консоль писать кириллицей. QtCreator minGW 5.7.0 windows 10...

Qdoc не поддерживает русский язык?
Может я что-то пропустил? На месте русских букв в сгенерированной документации каракули. Есть...

перевод QColorDialog на русский язык
есть ли быстрый способ перевести надписи в QColorDialog на русский язык? или придет все окно...

QRegularExpression не понимает русский язык
Имеется код QRegularExpression en("(*)"); QRegularExpression ru("(*)"); ...

4
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
24.03.2016, 15:32 2
Лучший ответ Сообщение было отмечено schdub как решение

Решение

Это qDebug чудит. попробуйте так:
C++ (Qt)
1
qDebug().noquote() << readAll();
1
2 / 2 / 0
Регистрация: 23.01.2015
Сообщений: 60
24.03.2016, 15:47  [ТС] 3
RazrFalcon, о, спасибо, помогло!
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
24.03.2016, 20:10 4
Цитата Сообщение от MongrellProg Посмотреть сообщение
Скажите, что это за формат, и каким образом можно получить QString, содержащий обычные русские буквы?
В 5.5.0 было поломаноизменено поведение qDebug. В 5.5.1 всё поправиливернули назад.
1
2 / 2 / 0
Регистрация: 23.01.2015
Сообщений: 60
11.04.2016, 18:06  [ТС] 5
Вернулся к этому проекту и появилась другая проблема. Опять же при разборе JSON.
Мне приходят сообщения с русскими буквами, и надо проверять наличие слов в этих сообщениях.

Желательно, чтобы можно было писать вот так, сейчас такое не работает:

C++ (Qt)
1
item.value("body").toString().contains("слово")
Причем, если искать, скажем, запятую, то всё норм.

C++ (Qt)
1
2
3
   QString str = "корова даёт молоко";
    if (str.contains("даёт"))
        qDebug() << "Success!";
Вот такой код отрабатывает без проблем. Это какая-то беда в работе QString-а?

Добавлено через 11 минут
Перевод в std::string тоже не помогает.

C++ (Qt)
1
2
std::string str = item.value("body").toString().toStdString();
        if (str.find("р") != std::string::npos)
Добавлено через 1 час 29 минут
Всё, проблема решилась тем, что я перевёл файл исходника в utf-8.
0
11.04.2016, 18:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2016, 18:06
Помогаю со студенческими работами здесь

Qt. Не отображается русский язык в работающей программе
Скачал недоделанную прогу и не могу понять, почему она отображает все в иероглифах? Кодировку...

Язык в сообщениях исключений
Привет народ. Начал использовать boost::asio, но наткнулся на такую штуку, как то, что сообщения в...

Xcode , С++ и русский язык: как вывести в файл русский текст без сбитой кодировки?
Как сделать так, чтобы после некоторых манипуляций в файл выводился русский текст без сбитой...

Английский язык для окна ввода пароля, русский язык для самой системы
собственно, сабж. у меня пароль на английском языке, при включении компьютера по умолчанию стоит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru