如果输出的语言不同,并且没有拉丁unicode,那么如何在python中使用不同的unicode?

如果输出的语言不同,并且没有拉丁unicode,那么如何在python中使用不同的unicode?,python,tkinter,unicode,Python,Tkinter,Unicode,我正在使用tkinter为语言翻译应用程序编写代码,作为一个额外功能,我决定添加一个函数,让您将翻译后的文本保存为pdf文件。问题是,如果翻译的文本包含拉丁unicode以外的字符,则会出现错误 Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\vinit\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__

我正在使用tkinter为语言翻译应用程序编写代码,作为一个额外功能,我决定添加一个函数,让您将翻译后的文本保存为pdf文件。问题是,如果翻译的文本包含拉丁unicode以外的字符,则会出现错误

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\vinit\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "C:/Users/vinit/PycharmProjects/LanguageTranslator/Translator/Translator.py", line 66, in savepdf
    pdf.output("Language.pdf")
  File "C:\Users\vinit\PycharmProjects\LanguageTranslator\venv\lib\site-packages\fpdf\fpdf.py", line 1065, in output
    self.close()
  File "C:\Users\vinit\PycharmProjects\LanguageTranslator\venv\lib\site-packages\fpdf\fpdf.py", line 246, in close
    self._enddoc()
  File "C:\Users\vinit\PycharmProjects\LanguageTranslator\venv\lib\site-packages\fpdf\fpdf.py", line 1636, in _enddoc
    self._putpages()
  File "C:\Users\vinit\PycharmProjects\LanguageTranslator\venv\lib\site-packages\fpdf\fpdf.py", line 1170, in _putpages
    p = self.pages[n].encode("latin1") if PY3K else self.pages[n]
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 87-91: ordinal not in range(256)

如果我想将文本从英语翻译成印地语或任何其他具有不同字符的语言,如何进行翻译?

应使用
设置并使用unicode字体。add_font()

下面是使用
arialuni.ttf
的示例代码:

。。。
pdf.add_font(“arialuni”,“C:/Windows/fonts/arialuni.ttf”,uni=True)
pdf.set_字体(“arialuni”,大小=15)
...

详情可参考。

这是否回答了您的问题?