Я знаю, что такой вопрос задавался ранее, но у меня ничего не получалось.
Я пытаюсь создать отчет в формате 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())])
Но не повезло ...