UnicodeEncodeError:“ charmap”编解码器无法编码字符-Python报告CSS

时间:2018-07-05 04:57:01

标签: django python-3.x python-unicode weasyprint

我知道以前曾问过这种问题,但对我没有任何帮助。

我正在尝试使用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())])

但是没有运气...

1 个答案:

答案 0 :(得分:0)

任何遇到此问题的人,没有像我这样的人对您有用。.尝试禁用您的浏览器扩展/附加组件。就我而言,我必须卸载IDM,而问题却消失了。现在,我需要找到为什么它不能与IDM一起使用。但是暂时,我的问题已经解决。