问题描述
我对此错误'latin-1' codec can't encode characters in position 51732-51735: ordinal not in range(256)
有疑问
我该如何解决这个问题?
这是我的views.py代码
def render_to_pdf(template_src,context_dict={}):
template = get_template(template_src)
html = template.render(context_dict)
result = io.StringIO()
pdf = pisa.pisaDocument(io.StringIO(html.encode("ISO-8859-1")),result)
if not pdf.err:
return HttpResponse(result.getvalue(),content_type='application/pdf')
return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))
def myview(request,pk):
postingan_list = Pengajuan_SKTM.objects.filter(id=pk)
return render_to_pdf(
'pengurusan/pdf_template.html',{
'pagesize':'A4','postingan_list' : postingan_list,})
这是我的urls.py代码
url(r'^(?P<pk>[0-9]+)/myview/$',views.myview,name='print')
解决方法
您可能尝试呈现一些Unicode字符,这些字符在ISO-8859-1编码中不存在。如果底层库支持(并且现在应该如此),请使用UTF-8,因为它支持所有字符。