2011-11-17 28 views
0

我使用qt web kit api將html文件轉換爲pdf。在QT webkit中強制解碼html的字符集

我面臨的問題是東南亞人物角色腐敗。

現在我手動設置爲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: [email protected]<br>To: [email protected]<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引擎上強制執行我的編碼?

在此先感謝

阿希什

回答

1

你可以發送給QWebPage收到的文件轉換爲UTF-8。

這可以使用QTextStream並調用QTextStream::setCodec來設置字符編碼。