Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.0.2
-
Windows 7
Qt 5.0.2
-
993bbb4d4be524321575668740ea46c6665d6064 2ff719de8fe7a6ec40d1e085ad3211a4fd09fe69
Description
We are porting our project from qt 4.8 to 5.0.2 and have run in to a problem with how the '+' character is encoded and decoded in the QUrl. An example URL is like this:
I pass this URL in to a QUrl constructor via:
const QUrl qurl (QUrl::fromEncoded ( url.toUtf8 () ));
The issue is that when I look at the request go out on the wire I see this:
You can see at the end of the URL %2B has been replaced with + which is no longer a valid URL for us. I see the + when I call QUrl.toString(QUrl::None) as well.
In QT 4.8.4 the above works correctly, meaning that the QUrl encodes the + sign back to %2B when making the actual network request.
I noticed in the QT 5.0 documentation that the QUrlQuery class talks about how a + is not encoded or decoded so I'm wondering if this affecting a + found in the non-query portion of the url.
Attachments
Issue Links
- is required for
-
QTBUG-31945 OSX: QDesktopServices fails to open some urls.
- Closed
For Gerrit Dashboard: QTBUG-31660 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
60266,5 | QUrl: update our understanding of the encoding of delimiters | dev | qt/qtbase | Status: MERGED | +2 | 0 |
60267,3 | QUrlQuery: update our understanding of delimiters | dev | qt/qtbase | Status: MERGED | +2 | 0 |