Название: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: lolbla2 от Март 04, 2013, 12:31 Мне нужно перекодировать эти данные в UTF-8 ибо русские символы в виде крякозяберных вопросиков... Может можно как-то QNetWorkAccessManager'у сказать чтобы он перекодировал?
в мэйне прописано: QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf-8")); QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); но не работает, наверно потому что гет запросы делаю из плагина, который подгружается динамически к приложению... Есть ли какое-то решение данной проблемы, а то у меня уже возникают мысли использовать кастыли типо вызова iconv и читать его output... Название: Re: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: alexis031182 от Март 04, 2013, 12:42 Может быть так:
Код
Название: Re: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: alexis031182 от Март 04, 2013, 12:47 Ну и конечно можно ещё HTTP-заголовок "Accept-Charset: utf-8" отправлять на сервер. Но для этого нужно иметь возможность модификации объекта QNetworkRequest.
Название: Re: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: lolbla2 от Март 04, 2013, 13:00 Ну и конечно можно ещё HTTP-заголовок "Accept-Charset: utf-8" отправлять на сервер. Но для этого нужно иметь возможность модификации объекта QNetworkRequest. Спасибо первый вариант работает, но с HTTP-заголовок "Accept-Charset: utf-8" решение вроде как лучше. Можно поподробнее про него? Я же могу в объекте QNetworkRequest установить с помощью setHeader или setRawHeader (кстати чем отличаются?) ? Пробую вот так, не помогает: Код
Название: Re: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: alexis031182 от Март 04, 2013, 13:07 Вот такие можно заголовки отправлять:
Код
Разницы между setHeader() и setRawHeader() в общем-то никакой. Разве что в первом случае, если Qt знает устанавливаемый заголовок, то проще ему значение присвоить. Нет необходимости придерживаться правил синтаксиса протокола. Название: Re: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: alexis031182 от Март 04, 2013, 13:10 Если не помогает, то, возможно, сервер просто не настроен на возможность отдачи контента в Utf-8. Заголовок - он ведь всего лишь как просьба. Диалог такой получается:
Клиент: можешь скинуть в Utf-8? Сервер: неа, лови, что есть Название: Re: От сервера приходят данные в ужасной кодировке cp-1251..... Отправлено: lolbla2 от Март 04, 2013, 13:55 Если не помогает, то, возможно, сервер просто не настроен на возможность отдачи контента в Utf-8. Заголовок - он ведь всего лишь как просьба. Диалог такой получается: Клиент: можешь скинуть в Utf-8? Сервер: неа, лови, что есть Понял, спасибо. |