Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在QT webkit中强制执行用于解码html的字符集_Qt_Qtwebkit_Wkhtmltopdf_Html To Pdf - Fatal编程技术网

在QT webkit中强制执行用于解码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> <

我使用QtWebKitAPI将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>




发件人: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
和调用来设置字符编码