0

如何使用西里尔符号打印 html?我试图这样做:

QTextDocument *document = new QTextDocument();
document->setHtml(htmlContent);
document->print(printer);

但文件以错误的编码打印。Html 编码为 utf-8。

4

2 回答 2

1

假设 htmlContent 是 QString,您可能使用错误的编码创建它。例如,如果原始 HTML 数据(即字节)是 UTF-8,那么您应该使用类似

htmlContent = QString::fromUtf8(myHtmlDataCharPtr);

如果 htmlContent 是指向 UTF-8 数据的字符指针,那么您应该使用

document->setHtml(QString::fromUtf8(htmlContent));

于 2012-10-10T07:36:17.640 回答
0

QTextDocument 需要非常正确的 HTML 才能正常运行 - WebKit / Firefox / QWebBrowser 通常接受格式较差的输入并仍然正确显示它。因此,将输出写入文件并将其发送到一些 HTML 检查程序,修复所有问题,然后重试。

于 2012-10-10T07:17:25.870 回答