很多人遇到过这个问题,但所提供的解决方案对我没有帮助。
在我的 ubuntu 机器上,脚本运行没有错误。但是在我的 raspi 上不断出现这个错误:
UnicodeEncodeError: 'ascii' codec can't encode character '\xd6' in position 21: ordinal not in range(128)
错误提示应该使用 print(a_name)
让我感到困惑的是:调用 python3 myscript.py 时,我在 raspi 上没有收到任何错误。但是通过调用 python3 myscript.py> output 我得到了错误。与 nohup python3 myscript.py 或从 crontab 运行时相同:
@reboot LANG=de_DE.UTF-8 /home/pi/launcher.sh > /home/pi/bot/logs/cronlog 2>&1
launcher.sh 使用以下代码:
python3 myscript.py > pythonlog 2>&1
我检查了$LANG
在我的 ubuntu 电脑上(我没有收到任何错误):en_US.UTF-8
在 raspi 上:de_DE.UTF-8
为什么我会收到此错误消息,我该如何摆脱它?
请您参考如下方法:
你试过设置环境变量PYTHONIOENCODING吗?
export PYTHONIOENCODING=UTF-8
python3 myscript.py > pythonlog 2>&1
