Qt 定义QWebElement的字符编码';s`toPlainText()`

Qt 定义QWebElement的字符编码';s`toPlainText()`,qt,character-encoding,qtwebkit,Qt,Character Encoding,Qtwebkit,在处理QWebKit的QWebElement及其toPlainText()函数(*)时,我很难掌握字符编码的诀窍 我得到了一个带有UTF8编码的QString,它保存了一个HTML页面的内容,该页面是通过QFile从本地光盘读取的。不,我想使用QWebKit解析此页面。因此,我将QWebFrame对象定义为QWebPage的一部分。使用QWebFrame::setHtml()我将QString填充到QWebKit环境中 QString rawReport = "some UTF8 encoded

在处理QWebKit的
QWebElement
及其
toPlainText()
函数(*)时,我很难掌握字符编码的诀窍

我得到了一个带有UTF8编码的
QString
,它保存了一个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();
QString rawReport=“以前读取的一些UTF8编码字符串”;
QP网页;
QWebFrame*frame=p.mainFrame();
frame->setHtml(rawReport);
QWebElement报告=框架->文档元素();

qDebug()您是否尝试使用QString的from***()函数来查找toPlainText()返回的字符串是如何编码的

文件说明

使用此方法时,WebKit假定外部资源(如JavaScript程序或样式表)以UTF-8编码,除非另有规定。例如,可以通过HTML脚本标记的charset属性指定外部脚本的编码。也可以由web服务器指定编码。“”


因此,我将尝试更改您正在加载的html源代码(在相应的元标记中)中指定的字符集,以明确指定您正在使用UTF-8。

谢谢您的回答,@ixM。您提到的相应元标记已经存在:
。另一件事:使用from***()-函数是什么意思?它们不接受toPlainText()返回的QString。请参阅上面的编辑。你的回答让我在我的小程序的几乎每个点上检查每个QString(和相关对象)的编码。谢谢