首页 > 解决方案 > FPDF编码在Python中不起作用

问题描述

我正在尝试使用 Python 和 FPDF 创建 PDF 文件。我已经阅读了有关 unicode 的项目页面,并且尝试按照他们的说明进行操作,但是每次运行程序时,都会收到错误消息:

文件“eventsmanager.py”,第 8 行 SyntaxError:第 8 行文件 eventsmanager.py 中的非 ASCII 字符“\xc3”,但未声明编码;有关详细信息,请参见http://python.org/dev/peps/pep-0263/

这是我的程序:

from fpdf import FPDF

pdf = FPDF()
pdf.add_page()

pdf.add_font('gargi', '', 'gargi.ttf', uni=True) 
pdf.set_font('gargi', '', 14)
pdf.write(8, 'Olá!!')
pdf.ln(20)

pdf.output('tuto3.pdf', 'F')

你能帮我理解我做错了什么吗?

标签: pythonfpdf

解决方案


您需要声明文件编码为 UTF8,因为 Python 2 默认为 Latin-1。UTF8 在 Python 3 中成为默认值。链接的 PEP 包含您必须在文件开头添加的所需行:

# coding: utf8

这必须是该行之后的第一#!

还支持 EMACS 和 VIM 格式。

遗憾的是错误消息不包含解决方案。


推荐阅读