理解できない奇妙な現象を発見しました: UTF-8 でエンコードされた HTML ファイルがあります。を含むメタ要素もありcontent="text/html; charset=UTF-8"/>
ます。
QWebView で HTML ファイルを読み込むと、正しく表示されます。
HTML ファイルを QByteArray にロードし (有効な 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 を使用しています。