Вы не можете сгенерировать www.%C4SDF.de
с помощью QUrl::toPercentEncoding
, так как эта функция всегда кодирует в байтовые последовательности UTF-8 перед кодированием%.
Если вам действительно нужно использовать кодировку не-UTF-8, такую как ISO-8859-1 (обычно для совместимости с неудачными устаревшими приложениями), вам придется использовать QByteArray::toPercentEncoding
в байтовом массиве, который вы генерировать из QString::toLatin1
.
Однако вы, вероятно, тоже не хотите этого делать. Даже UTF-8-правильный www.%C3%84SDF.de
не является допустимым способом указания имени хоста www.ÄSDF.de
в URI. Вместо этого он должен быть закодирован с использованием алгоритма IDN (с использованием Punycode), давая www.xn--sdf-pla.de
.
Самый простой и обычно лучший способ для продолжения будет QUrl :: toEncoded . Это превращает IRI, например:
http://www.äsdf.de/äsdf?äsdf=äsdf
в рабочий URI:
http://www.xn--sdf-pla.de/%C3%A4sdf?%C3%A4sdf
(обратите внимание, IRI требует UTF-8.)