![]() |
|
![]() ![]() ![]() |
|
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: нет Всего: 13 |
Доброго времени суток.
Посылаю GET запрос с помощью QNetworkAccessManager, получаю ответ в виде QNetworkReply reply.
проблема в том, что в reply->readAll содержится кириллица и я ожидаемо получаю абракадабру. И так и сяк извращался - не понимаю, в чем затык. utf-8 взял, потому как сервер в хидерах указывает её. Это сообщение отредактировал(а) wester - 2.5.2012, 15:25 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
wester, попробуй так:
|
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: нет Всего: 13 |
bsa,
Так же абракадабра выводится вместо кириллицы. То есть это может быть не utf-8 , если fromUtf8() не помог? |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
wester, попробуй выгрузить reply->readAll() в файл, затем открой его каким-нибудь Notepad++ и попереключай кодировки. Как увидишь русские буквы - готово, кодировка известна.
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: нет Всего: 13 |
Прокликал все кодировки - ни одна не подошла
Это сообщение отредактировал(а) wester - 3.5.2012, 14:37 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
wester, выложи ответ сервера as-is (т.е. тупо сохрани в файл). Затем попробуй его открыть. Если не определишь кодировку, то выложи в открытый доступ мы посмотрим.
|
|||
|
||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: нет Всего: 13 |
bsa,
не совсем понял, что именно нужно сохранить. Хидеры сервера при ответе могу прочитать, проблема именно в теле ответа. Сюда выложил полный ответ сервера в txt. Могу выложить программу (сорцы) на которой воспроизводится проблема. |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
wester, вот эти кракозябры
в шестнадцатиричном представлении:
это - действительно символы "i", вопросик, "e" и т.д. Если эти байты пришли с сервера, то дело плохо... надо разбираться с запросом, кодировкой ответа и т.п. У меня же есть подозрение, что те байты, которые пришли с сервера, сначала попали либо в QString, либо QTextCodec, либо ещё куда-то, а затем ты уже выложил их в файл. Сохрани в файле именно то, что пришло с сервера. Или выложи здесь код, при помощи которого получен прикреплённый выше файл (только ту часть, которая вычитала данные из сервера и записала в файл. остальное - коннект, создание networkReply и т.п. пока не нужно) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: нет Всего: 13 |
вот исходник, как я получаю страницу |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
аж с души слегло... с гуглом всё в порядке)) проверил твой код один в один (ни строчки не изменил). если смотреть этот файл в Utf-8, то получаем
Тогда давай так. Сделай проект с минимальным кол-вом кода, который повторял бы эту проблему и выложи сюда -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
CuteBunny |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Попробуйте в main фукнции прописать:
Раз
Это сообщение отредактировал(а) CuteBunny - 3.5.2012, 16:50 |
||||||
|
|||||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
CuteBunny, может, конечно, и поможет, но я сейчас посмотрел - у меня в main() стоит
у меня шаблон на создание проекта такой... однако, приведённый код дал указанный результат. тут в чём-то другом дело, ИМХО -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
CuteBunny |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 14.2.2008 Репутация: 1 Всего: 1 |
Ну тогда я не знаю даже... ИМХО, я всегда все проекты в utf-8 создаю, выставляю кодеки для строк, локали и тр + сохраняю исходники в utf-8 кодировке, мне так удобнее, хотя конечно был момент, когда файл на входе подавался от 1С в windows-1251, там просто при работе с файлом переключал кодировку на 1251 да и всё. Это сообщение отредактировал(а) CuteBunny - 3.5.2012, 16:56 |
||||
|
|||||
wester |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 675 Регистрация: 27.2.2009 Репутация: нет Всего: 13 |
CuteBunny,
Может я ошибаюсь, но подобное
Нужно для строк, которые пишутся в самом коде, типа label->setText("nameOfControl"); Поправьте если ошибаюсь. borisbn, Сделал проект, на котором воспроизводится ошибка. http://rghost.ru/37895038 Там же лежит файл (out.txt), который у меня на системе записывается. Qt 4.7.4 |
|||
|
||||
bsa |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
![]() ![]()
А чем по-твоему является:
Это сообщение отредактировал(а) bsa - 3.5.2012, 22:12 |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |