以下は、Pythonシェル(2.7.3)で期待どおりに実行されます
for i in range(999):
print i, unichr(i)
ファイル(asd.py)に保存し、シェルで実行します
$ ./asd.py
も動作しますが
$ ./asd.py > asd.txt
与える:
Traceback (most recent call last):
File "./asd.py", line 3, in <module>
print i, unichr(i)
UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128)
何故ですか?それを回避する方法は?