C++和Qt - 从页面内容编码

问题描述:

这里是link其中我得到了一个网页内容获取代码。但是我遇到了麻烦:我的文本编码错误。我能纠正它吗?谢谢。C++和Qt - 从页面内容编码

编辑: 我试图从页面获取数据:

http://ru.wiktionary.org/wiki/example

,并得到:alt text http://img44.imageshack.us/img44/6141/kfastwikimainwindow.png

EDIT2: 我刚才的所有数据保存到HTML的文件并在QWebView中显示它。

+0

更多细节;你期待什么编码,你会得到什么? – Gerald 2009-07-03 19:19:08

我想你会得到正确的编码,它只是没有正确的编码显示。我做了一个快速测试,看起来像是用Visual Studio HTML Visualizer显示它的样子,但是如果我将数据保存到文件并用浏览器打开它,它会被正确编码。

+0

浏览器使用自动编码。所以有正常的看法。 – Ockonal 2009-07-03 20:00:49

根据我的理解,您检索数据为QByteArray,它本身并不具有(或不知道)编码。根据你传递数据的显示方式,它可能会被视为local8bit,但你链接的网站是utf-8。在这种情况下,您可以通过QTextCodec传递它来检测并使用正确的编码(此处可能有趣的QTextCodec::codecForHtml()),或者如果您确定始终将网站设为utf-8,请使用QString::fromUtf8()