【发布时间】:2013-06-09 09:58:12
【问题描述】:
是否有任何选项可以正确转换 latin2 字母?我需要给我的学校项目写波兰信。这是我如何生成pdf的一些代码
#!/usr/bin/python
# -*- utf-8 -*-
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, A4
def GenerujPustyArkusz(c):
c.setFont("Times-Roman", 8)
c.drawString(450,750, u"Załącznik nr 2 do Regulaminu")
def test():
c = canvas.Canvas("test.pdf", pagesize=letter)
GenerujPustyArkusz(c)
c.showPage()
c.save()
test()
我明白了:
Za■■cznik nr 2 do Regulaminu
我尝试了几种编码技巧,但没有结果。
【问题讨论】:
-
你从哪里得到错误的输出?在生成的pdf中?
-
是的,这是我从 pdf 中复制的(我将复制的 'nn' 替换为黑色方块 - 这是我在 pdf 中看到的)。
-
在
GenerujPustyAskusz方法中尝试这一行:c.drawString(450,750, "Załącznik nr 2 do Regulaminu".decode('utf-8'))还有,你为什么将这个问题标记为 latin2,我认为你使用的是 utf-8? -
我需要的字母是 latin2 (iso-8859-2),例如 łóżźćńś。我试过这个技巧没有结果。
标签: python django encoding reportlab iso-8859-2