У меня возникают проблемы с освоением кодировки символов при работе с QWebElement
QWebKit и его toPlainText()
функцией (*).
У меня есть QString
с кодировкой UTF8, содержащей содержимое HTML-страницы, которая была прочитана с локального диска через QFile
. Нет, я хочу проанализировать эту страницу с помощью QWebKit. Таким образом, я определил объект QWebFrame
как часть QWebPage
. С QWebFrame::setHtml()
я заполнил QString в среду QWebKit.
QString rawReport = "some UTF8 encoded string read in previously";
QWebPage p;
QWebFrame *frame = p.mainFrame();
frame->setHtml(rawReport);
QWebElement report = frame->documentElement();
qDebug() << report.toPlainText();
Но почему-то, qDebug()
, похоже, неправильно использует кодировку, как, например, немецкие умлауты äöüß
показаны довольно забавно. Даже не как соответствующие им объекты HTML.
Я сомневаюсь, что это вина qDebug, а скорее кодировка внутри QWebElement. Где-то я читал, что QWebFrame::setHtml()
ожидает кодировку UTF8. Но я почти уверен, что это именно тот случай.
Что мне не хватает? Есть ли где-нибудь функция / опция, чтобы заставить QWebFrame / QWebElement использовать определенную кодировку как для ввода, так и для вывода?
[*] Использование
QWebElement::toOuterXml()
или
QWebElement::toInnerXml()
показывает ту же проблему кодирования.