如何使用西里尔符号打印html?我试图这样做:
QTextDocument *document = new QTextDocument();
document->setHtml(htmlContent);
document->print(printer);
但是文档以错误的编码打印。Html 编码是 utf-8。
假设 htmlContent 是 QString,您可能用错误的编码创建了它。例如,如果原始HTML数据(即字节)是UTF-8,那么您应该使用类似
htmlContent = QString::fromUtf8(myHtmlDataCharPtr);
如果 htmlContent 是指向 UTF-8 数据的字符指针,那么您应该使用
document->setHtml(QString::fromUtf8(htmlContent));
QTextDocument 需要非常正确的 HTML 才能正常运行 - WebKit/Firefox/QWebBrowser 通常接受格式较差的输入,并且仍然正确显示它。因此,将输出写入文件并将其发送到某个HTML检查程序,修复所有问题,然后重试。