Using QWebFrame::load(...) and perhaps the other load methods % in URLs are escaped, e.g. http://example.org/Foo%20Bar/ becomes http://example.org/Foo%2520Bar/. This makes navigating to such addresses impossible.
Please provide a testcase. I cannot reproduce this. Could it be that the QUrl you're passing to load() isn't constructed properly?