强制使用charset解码QT webkit中的html

时间:2011-11-17 15:37:55

标签: qt qtwebkit wkhtmltopdf html-to-pdf

我使用qt web kit api将html文件转换为pdf。

我面临的问题是东南亚人物的性格腐败。

现在我以下列方式手动设置html文件的字符集:

QWebSettings objWebSettings = objQWebPage.settings();
    objWebSettings.setDefaultTextEncoding("GB18030");

但上述代码对于以下类型的html文件失败:

<html>
<head>
</head>
<body class='hmmessage'><div dir='ltr'>
<br><br><div><hr id="stopSpelling">From: sunbeam_is_me@hotmail.com<br>To: sunbeam0606@gmail.com<br>Subject: <br>Date: Thu, 10 Nov 2011 14:53:17 +0800<br><br>

<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">
<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Tahoma;}

</style>

<div dir="ltr">
逆势大;你是我的阿</div></div></div></body>
</html>

对我来说,webkit引擎看起来优先于指定字符集的'meta'标头,并忽略了我传递的编码。

有没有办法可以在webkit引擎上强制执行我的编码?

提前致谢

与Ashish

1 个答案:

答案 0 :(得分:1)

您可以在发送到QWebPage之前将文档转换为UTF-8。

可以使用QTextStream并调用QTextStream::setCodec来设置字符编码。