'latin-1'编解码器无法对位置51732-51735中的字符进行编码:序数不在范围内256Django

问题描述

我对此错误'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,因为它支持所有字符。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...