我有一个 python 脚本,它使用他们的调度程序插件在 Heroku 上定期运行。它会打印一些调试信息,但是当文本中有非 ASCII 字符时,我会在日志中收到错误消息,例如:
SyntaxError: Non-ASCII character '\xc2' in file send-tweet.py on line 40, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
那是我在脚本中有这样一行的时候:
print u"Unicode test: £ ’ …"
我不知道该怎么办。如果我在脚本中有这个:
import locale
print u"Encoding: %s" % locale.getdefaultlocale()[1]
然后在日志中输出:
Encoding: UTF-8
那么,为什么要尝试以 ASCII 格式输出其他文本却失败了呢?
更新: FWIW,这是我正在使用的实际脚本。调试输出在第 38-39 行。