首页 > 解决方案 > UnicodeEncodeError:尝试将希伯来语写入 PDF 时,“latin-1”编解码器无法编码

问题描述

我正在尝试使用 Python 中的 FPDF 库将一些希伯来语单词写入 pdf 文件

我得到一个错误

UnicodeEncodeError:“latin-1”编解码器无法对位置 51-55 中的字符进行编码:序数不在范围内(256)

我该如何解决这个问题并将希伯来语写入 PDF 文件?

在下面添加我的代码

     pdf = FPDF()
    pdf.add_page()
    pdf.set_font("Arial", size=15)
    welcome="היייי"
    pdf.cell(200, 10, txt=welcome, ln=1, align="C")
    pdf.output("simple_demo.pdf")

标签: pythonunicodefpdf

解决方案


set_font文档:

标准字体默认使用 Latin-1 编码,(...)

未指定默认编码,但所有文本写入方法仅接受外部字体的 Unicode 和标准的一字节编码。

Arial是一个标准的家庭,所以它只接受Latin-1编码(1字节)。因此,您应该使用非标准字体更改字体,以便拥有 Unicode 字体,以便获得希伯来语文本。


推荐阅读