简单的打印语句在两个RPI之一上给出UnicodeEncodeError

时间:2019-07-08 14:36:48

标签: python unicode ascii

当我将程序从一个RPI复制到另一个RPI时,突然在日志文件中出现了很多错误。我已将问题缩小到与丹麦字母ÆØÅ有关的问题。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-    
print("ABC æøå ÆØÅ")  #Danish characters

在我的一个RasberryPies上,出现此错误。

Traceback (most recent call last):File "test.py", line 5, in <module>
print("ABC \xe6\xf8\xe5 \xc6\xd8\xc5")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 4-6: ordinal not in range(128)

在另外两个方面,我表现出色。

Python版本Python 3.5.3 使用raspi-config检查了丹麦语的本地化。

-*-编码是正确的方法

1 个答案:

答案 0 :(得分:1)

在执行python命令之前,将以下几行添加到您的终端。

export PYTHONIOENCODING=utf-8

现在在同一终端上运行python test.py

或者您可以在test.py文件顶部添加以下行

import sys
sys.setdefaultencoding('utf-8')

有关更多详细信息,请检查以下问题,