使用 Qt 的变音符号读取百分比 url

Reading percentage encoded url with umlauts with Qt

我正在尝试使用 Qt 读取带有变音符号的百分比编码 url,例如 äüö、...:

QString str = "Nu%CC%88rnberg"
qDebug() << QUrl::fromPercentEncoding(str.toUtf8());

但输出是 Nu¨rnberg 而不是 Nürnberg。如何正确解码带有这种形式的变音符号的网址?

此致,

我已经完成了这个问题,但我对结果有点困惑。首先,如果您想使用字母 ü,请使用 %C3%BC 而不是 %CC%88(根据 https://www.w3schools.com/tags/ref_urlencode.asp)。所以你需要

QString str = "N%C3%BCrnberg";
QString encoded = QUrl::fromPercentEncoding(str.toUtf8());

但是如果你在qDebug()流中输出它你会得到不同的符号(我猜这是因为你的默认系统编码)。但是,如果您在 GUI 元素中输出它,您将拥有 ü 符号

QMessageBox::information(this, "", encoded);

this表示主要window.