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

时间:2019-09-05 13:11:18

标签: python unicode fpdf

im试图使用Python中的FPDF库将一些希伯来语单词写到pdf文件中

我收到错误消息

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

我该如何解决并将希伯来语写到PDF文件中?

在下面添加我的代码

public static Pair<Integer, Integer> getWeekSpan(Timestamp date) {
        Pair<Integer, Integer> result = new Pair<Integer, Integer>();
        Calendar cal = timestampToCalendar(date);

        // start of week
        cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        result.setKey(cal.get(Calendar.DAY_OF_YEAR) - 1);

        // end of week
        cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
        result.setValue(cal.get(Calendar.DAY_OF_YEAR) - 1);

        return result;
    }

1 个答案:

答案 0 :(得分:1)

摘自set_font文档:

  

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

  

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

您的Arial是标准系列,因此它仅接受Latin-1编码(1字节)。因此,您应该更改非标准字体,以拥有Unicode字体,从而获得希伯来语文本。