UnicodeEncodeError仅当作为cron作业运行时

2024-09-27 21:25:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序在命令行中正常工作,但当我将其作为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


Tags: 命令行in程序title错误作业asciican
2条回答

不,你可以简单点。在执行此脚本之前,只需定义PYTHONIOENCODING。像这样:

PATH=<your path>
MAILTO=someone@somewhere
PYTHONIOENCODING=utf8

* * * * * /run/your/script

旁白:这是一个常见的问题;因此,这可能是一个重复的问题。

2.7上的默认编码是ascii
您需要为程序的输出提供编码。
常用的编码是“utf8”。

所以你应该:

print title.encode('utf8')

以下是检查默认编码的一种方法:

import sys

sys.getdefaultencoding()
# -> 'ascii'

相关问题 更多 >

    热门问题