在QT webkit中强制执行用于解码html的字符集
我使用QtWebKitAPI将html文件转换为pdf 我面临的问题是东南亚角色的角色腐败 现在,我正在通过以下方式手动设置html文件的字符集:在QT webkit中强制执行用于解码html的字符集,qt,qtwebkit,wkhtmltopdf,html-to-pdf,Qt,Qtwebkit,Wkhtmltopdf,Html To Pdf,我使用QtWebKitAPI将html文件转换为pdf 我面临的问题是东南亚角色的角色腐败 现在,我正在通过以下方式手动设置html文件的字符集: QWebSettings objWebSettings = objQWebPage.settings(); objWebSettings.setDefaultTextEncoding("GB18030"); 但对于以下类型的html文件,上述代码失败: <html> <head> </head> <
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>
发件人:sunbeam\u_me@hotmail.com
致:sunbeam0606@gmail.com
主题:日期:2011年11月10日星期四14:53:17+0800
.ExternalClass.ecxhmmessage P
{填充:0px;}
.ExternalClass body.ecxhmmessage
{字体大小:10pt;字体系列:Tahoma;}
逆势大;你是我的阿
在我看来,webkit引擎似乎优先于指定字符集的“meta”头,而忽略了我传递的编码
有没有办法在webkit引擎上强制执行编码
提前谢谢
Ashish您可以在发送到QWebPage之前将文档转换为UTF-8 可以使用
QTextStream
和调用来设置字符编码