UnicodeEncodeError: кодек 'charmap' не может закодировать символ - Python Report CSS - PullRequest
0 голосов
/ 05 июля 2018

Я знаю, что такой вопрос задавался ранее, но у меня ничего не получалось.

Я пытаюсь создать отчет в формате PDF, используя weasyprint. Вот мой код;

htmlContent = py_str["htmlContent"]

HTML(string=htmlContent).write_pdf(target=response,
        stylesheets=[CSS(string=getCSS())])

но он не генерирует PDF. При отладке я обнаружил, что проблема заключается в функции getCSS(), которая возвращает строку css. Распечатав эту функцию на консоли, я получаю эту ошибку

UnicodeEncodeError: кодек 'charmap' не может кодировать символ '\ x91' в позиции 5042: символ отображается на

это CSS, который у меня есть от номера строки 5040 до 5042

.nav-pills > li {
   float: left;
 }

Все решения, которые я обнаружил, относятся к utf-8, но я не мог понять, где использовать этот utf-8 в моем коде. Я полностью застрял здесь.

Любая помощь будет оценена. Я могу добавить полный CSS при необходимости.

UPDATE

Я пытался использовать кодирование ("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 голосов
/ 05 июля 2018

Любой, кто сталкивается с этой проблемой, но у вас ничего не работает, как я ... попробуйте отключить ваши расширения / дополнения в браузерах. В моем случае я должен удалить IDM, и моя проблема исчезла. Теперь мне нужно выяснить, почему он не работает с IDM. Но на данный момент моя проблема решена.

...