我的程序在命令行中运行正常,但当我将其作为cron作业运行时,它会因错误而崩溃:
UnicodeEncodeError: 'ascii' codec can't encode character
u'\xa7' in position 13: ordinal not in range(128)
它在声明中崩溃了
print title
为什么只有当应用程序作为cron作业运行时才会发生这种情况?怎么能修好?
我尝试过(没有帮助):
print unicode(title)
Python是2.7
答案 0 :(得分:92)
PATH=<your path>
MAILTO=someone@somewhere
PYTHONIOENCODING=utf8
* * * * * /run/your/script
答案 1 :(得分:4)
旁白:这是一个常见的问题;因此,这可能是一个重复的问题。
2.7上的默认编码为ascii
您需要为程序的输出提供编码
要使用的常见编码是'utf8'。
所以你要改为:
print title.encode('utf8')
以下是检查默认编码的一种方法:
import sys
sys.getdefaultencoding()
# -> 'ascii'