xra*_*alf 31 python unicode cron
我的程序在命令行中正常工作,但是当我将它作为一个cron作业运行时,它会在错误上崩溃:
UnicodeEncodeError: 'ascii' codec can't encode character
u'\xa7' in position 13: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
它在声明中崩溃了
print title
Run Code Online (Sandbox Code Playgroud)
为什么只有当应用程序作为cron作业运行时才会发生这种情况?怎么能修好?
我试过了(没有帮助):
print unicode(title)
Run Code Online (Sandbox Code Playgroud)
Python是2.7
kwo*_*orr 94
不,你可以更简单.在执行此脚本之前,只需定义PYTHONIOENCODING即可.像这样:
PATH=<your path>
MAILTO=someone@somewhere
PYTHONIOENCODING=utf8
* * * * * /run/your/script
Run Code Online (Sandbox Code Playgroud)
旁白:这是一个常见问题;因此,这可能是一个重复的问题。
2.7 上的默认编码是ascii.
您需要为程序的输出提供编码。
常用的编码是“utf8”。
所以你会这样做:
print title.encode('utf8')
Run Code Online (Sandbox Code Playgroud)
这是检查默认编码的一种方法:
import sys
sys.getdefaultencoding()
# -> 'ascii'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6517 次 |
| 最近记录: |