我目前正使用他們的計劃附加在Heroku上定期運行python腳本。它打印一些調試信息,但是當有一個在文本中的非ASCII字符,我得到像日誌的錯誤:Unicode的錯誤日誌
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,here's the actual script我正在使用。調試輸出在38-39行。
如果您按照此處所述定義源代碼編碼,會發生什麼情況? HTTP://www.python。org/dev/peps/pep-0263/ – Ci3 2013-02-15 16:21:05
就像Chris Harris說的那樣,在文件頂部使用'#coding = utf8'(或者'utf-8'?)怎麼樣? – alxbl 2013-02-15 16:22:23
另外,你看看這個答案嗎? http://stackoverflow.com/a/6289494/1343005 – Ci3 2013-02-15 16:23:09