我知道以前有人问过这种问题,但对我没有任何帮助。
我正在尝试使用weasyprint
. 这是我的代码;
htmlContent = py_str["htmlContent"]
HTML(string=htmlContent).write_pdf(target=response,
stylesheets=[CSS(string=getCSS())])
但它不会生成任何 PDF。在调试时,我发现问题出在这个getCSS()
返回 css 字符串的函数中。通过在控制台上打印此功能,我收到此错误
UnicodeEncodeError:“charmap”编解码器无法在位置 5042 对字符“\x91”进行编码:字符映射到 <undefined>
这是我从第 5040 行到第 5042 行的 CSS
.nav-pills > li {
float: left;
}
我发现的所有解决方案都与之相关,utf-8
但我不明白utf-8
在我的代码中在哪里使用它。我完全被困在这里。
任何形式的帮助将不胜感激。如果需要,我可以添加完整的 CSS。
更新
我试过以这些方式使用 encoding("utf-8") ;
HTML(string=htmlContent).write_pdf(target=response,
stylesheets=[CSS(string=getCSS().encode("utf-8"))])
然后这个也是
HTML(string=htmlContent, encoding="utf-8").write_pdf(target=response,
stylesheets=[CSS(string=getCSS())])
但没有运气...