Python UnicodeEncodeError:&x27;拉丁语-1';编解码器可以';t编码字符'\u2013';位置88:序号不在范围内(256)

Python UnicodeEncodeError:&x27;拉丁语-1';编解码器可以';t编码字符'\u2013';位置88:序号不在范围内(256),python,Python,我正在尝试用python将文本文件转换为pdf,但我遇到了错误,请帮助我解决 这里是我的代码:* import fpdf from fpdf import FPDF pdf = FPDF() pdf.add_page() pdf.set_font("Arial", size=15) f = open("textfile.txt", "r") for i in f: pdf.cell(200, 10, txt=i, ln = 1

我正在尝试用python将文本文件转换为pdf,但我遇到了错误,请帮助我解决

这里是我的代码:*

import fpdf
from fpdf import FPDF

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=15)
f = open("textfile.txt", "r")
for i in f:
    pdf.cell(200, 10, txt=i, ln = 1, align = 'C')
pdf.output("Output.pdf")
输出:错误

p = self.pages[n].encode("latin1") if PY3K else self.pages[n] 

UnicodeEncodeError: 'latin-1' codec can't encode character '\u2013' in position 88: ordinal not in range(256)

fpdf中的所有标准字体都使用
拉丁-1
编码。如果要写入不在
latin-1
集中的字符,则需要使用
set\u font
指定外部字体

参考:


否则,您必须将字符串转换为
latin-1
(使用
encode
方法),并指定是否忽略或替换坏字符(即
latin-1
中不存在的字符)。

您正在尝试将unicode字符编码为latin-1-这是无法完成的。你得先把它换掉。你有什么问题?你到底需要什么帮助?对于这样的无效字符,您的预期输出是什么?请澄清。顺便说一句,欢迎来到SO!查看并查看是否需要更多提示。我的文本文件包含此类内容。[{'id':0,“title':“VOF Verfahren–Ingenieurdienstleistungen für Technische Ausrüstung ELT(Anlagengruppe 4,5,6)gem§53 HOAI,在麻省理工学院第55 HOAI-Leistungsphase 1-9期für den Neubau r Freising麻省理工学院2-fach Schulsporthalle。”,{'id':27,“标题”:VOF Verfahren–Ingenieurdinestleistungen für Technische Ausrüstung ELT(Anlagengruppe 4,5,6)gem§53 HOAI,位于麻省理工学院第55 HOAI Leistungsphase 1-9期,位于麻省理工学院第2-fach Schulsporthalle校区