python - 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")
解决方案
从set_font
文档:
标准字体默认使用 Latin-1 编码,(...)
和
未指定默认编码,但所有文本写入方法仅接受外部字体的 Unicode 和标准的一字节编码。
你Arial
是一个标准的家庭,所以它只接受Latin-1
编码(1字节)。因此,您应该使用非标准字体更改字体,以便拥有 Unicode 字体,以便获得希伯来语文本。
推荐阅读
- reactjs - 如何在 React 中生成动态 DOM 元素
- laravel - 使用 Laravel 8(和 Jetstream)将自定义数据传递到 login.blade.php
- python - 如何减少 Python 项目的 Pyinstaller 构建时间?
- python - 在 Python 函数中使用变量作为参数
- css-counter - 嵌套在 div 中的标题的 CSS 计数器
- apache-spark-sql - 面向行还是面向列?:Databricks 数据库表
- typescript - 如何使用提供的参数推断函数的返回类型?
- ruby - Ruby:使用多个 return..if 语句有什么后果?
- vb.net - 从datagridview打印它给了我错误信息
- python - Python 列表理解 Django 对象