Название: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: vbi от Октябрь 24, 2012, 23:53 Например есть ссылка: "mysite/index.php%3Fdo%3Dforum%26act%3Dgetforum%26code%3Duser%26mname%3D%25CB%25E5%25ED%25E0123"
как мне из нее получить "mysite/index.php?do=forum&act=getforum&code=user&mname=Лена123" стандартными методами? Например используя QUrl могу получить служебные символы типа "?,&,=", а вот как получить "Лена"? Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: kambala от Октябрь 25, 2012, 00:32 для справки: QUrl::toPercentEncoding("mysite/index.php?do=forum&act=getforum&code=user&mname=Лена123") выдаёт "mysite%2Findex.php%3Fdo%3Dforum%26act%3Dgetforum%26code%3Duser%26mname%3D%C3%90%C2%9B%C3%90%C2%B5%C3%90%C2%BD%C3%90%C2%B0123", так что в твоём случае наверное надо всё делать руками.
Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: SimpleSunny от Октябрь 25, 2012, 01:04 QByteArray QByteArray::fromPercentEncoding ( const QByteArray & input, char percent = '%' ) [static]
Returns a decoded copy of the URI/URL-style percent-encoded input. The percent parameter allows you to replace the '%' character for another (for instance, '_' or '='). For example: QByteArray text = QByteArray::fromPercentEncoding("Qt%20is%20great%33"); text.data(); // returns "Qt is great!" This function was introduced in Qt 4.4. Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: kambala от Октябрь 25, 2012, 03:31 внутренности QByteArray::fromPercentEncoding точно такие же, как и у QUrl::fromPercentEncoding
Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: vbi от Октябрь 25, 2012, 10:11 fromPercentEncoding - работает для всего, кроме русских символов. Например для ссылки "http://savedhistory.net/k/%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B-dle" - не переводит в русские. (должно быть "http://savedhistory.net/k/шаблоны-dle")
Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: xokc от Октябрь 25, 2012, 12:24 Windows 7 x64, Qt 4.8.2 x64.
QString url = QUrl::fromPercentEncoding("http://savedhistory.net/k/%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B-dle"); Совершенно нормально декодирует в http://savedhistory.net/k/шаблоны-dle Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: kambala от Октябрь 25, 2012, 12:26 подтверждаю, правда система и версия библиотеки те же
Название: Re: Как из URL с процентами получить ссылку, содержащую русские символы? Отправлено: vbi от Октябрь 26, 2012, 01:04 Действительно работает.Но "QByteArray::fromPercentEncoding" - не работает
|