スケジューラアドオンを使用してHerokuで定期的に実行されているPythonスクリプトがあります。デバッグ情報が出力されますが、テキストに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行目にあります。