我发现了一个我不理解的奇怪效果:我有一个用 UTF-8 编码的 HTML 文件。它还有一个带有content="text/html; charset=UTF-8"/>
.
如果我在 QWebView 中加载 HTML 文件,它会正确显示。
如果我在 QByteArray 中加载 HTML 文件(仍然看起来像有效的 UTF-8),将其转换为 QString(仍然看起来像有效的 UTF-8),并通过 QWebView 上的 setHTML 设置它,它显示不正确(好像解释为 ASCII)。
如果我采用相同的 QByteArray,并通过 QWebView 上的 setContent 设置它,将 "text/html; charset=UTF-8" 作为 mime 类型传递,它会再次正确显示。
QWebView::setHtml 的预期编码是什么?该文档仅提到外部 CSS 和脚本文件被解释为 UTF-8。这是使用 Qt 4.8.2。