我知道以前曾问过这种问题,但对我没有任何帮助。
我正在尝试使用weasyprint
生成一些PDF报告。这是我的代码;
htmlContent = py_str["htmlContent"]
HTML(string=htmlContent).write_pdf(target=response,
stylesheets=[CSS(string=getCSS())])
,但不会生成任何PDF。在调试时,我发现此getCSS()
函数中的问题返回了CSS字符串。通过在控制台上打印此功能,我收到此错误
UnicodeEncodeError:'charmap'编解码器无法对位置5042处的字符'\ x91'进行编码:字符映射到
这是我从行号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())])
但是没有运气...
答案 0 :(得分:0)
任何遇到此问题的人,没有像我这样的人对您有用。.尝试禁用您的浏览器扩展/附加组件。就我而言,我必须卸载IDM,而问题却消失了。现在,我需要找到为什么它不能与IDM一起使用。但是暂时,我的问题已经解决。