Перевод русских символов в формат http-строки |
Здравствуйте, гость ( Вход | Регистрация )
Перевод русских символов в формат http-строки |
NordWest |
15.1.2010, 10:17
Сообщение
#1
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Формирую в программе Get запрос с помощью QHttp::get(requestStr). Не знаю вот только как быть с русскими символами в строке запроса. Как её переводить в формат с процентами?
|
|
|
BRE |
15.1.2010, 10:46
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
NordWest |
15.1.2010, 12:29
Сообщение
#3
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Видимо что-то то. Только вот как-то не получается вывести из QLineEdit русскую букву нормально. Вместо "Д" выводится почему-то "A" и в проценты не те конвертируется. Должно быть "%C4" а получается "%D0%94. Как-то непонятно. В принципе в консоле оно не обязано правильно отображаться, но...
|
|
|
BRE |
15.1.2010, 12:35
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Видимо что-то то. Только вот как-то не получается вывести из QLineEdit русскую букву нормально. Вместо "Д" выводится почему-то "A" и в проценты не те конвертируется. Должно быть "%C4" а получается "%D0%94. Как-то непонятно. В принципе в консоле оно не обязано правильно отображаться, но... А ты попробуй строку сначала в кодировку CP1251 перевести. Смотри QTextCodec. |
|
|
NordWest |
15.1.2010, 12:50
Сообщение
#5
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Вот так?
|
|
|
BRE |
15.1.2010, 12:55
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
NordWest |
15.1.2010, 13:15
Сообщение
#7
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Теперь вместо "Д" знак вопроса выводится.
|
|
|
BRE |
15.1.2010, 13:28
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Теперь вместо "Д" знак вопроса выводится. Это я промахнулся
Исправление! QByteArray QUrl::toPercentEncoding ( const QString & input, const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray() ) [static] вначале конвертирует в UTF-8, а вот QByteArray QByteArray::toPercentEncoding ( const QByteArray & exclude = QByteArray(), const QByteArray & include = QByteArray(), char percent = '%' ) const этого не делает. Попробуй использовать ее. Сообщение отредактировал BRE - 15.1.2010, 13:41 |
|
|
NordWest |
15.1.2010, 21:35
Сообщение
#9
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
А как бы в QByteArray из QString перегнать?
Так?
Или toAscII()? Или (char*) data()? Результат разный, но все равно не тот. |
|
|
BRE |
15.1.2010, 21:43
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Так после QTextCodec::fromUnicode получаем QByteArray.
|
|
|
Текстовая версия | Сейчас: 4.1.2025, 19:07 |