使用 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.
我正在尝试使用 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.