UnicodeEncodeError対策

unicode文字列をprintするとUnicodeEncodeErrorが出るのに悶絶。
今までわりとpython使ってきたけどこのエラーには遭遇したことは無かった。
調べてみると、日本語周りではわりと起こりがちなエラーで

http://d.hatena.ne.jp/SumiTomohiko/20070120/1169300624

に解決方法が記述されていた。


しかし、システム全体の設定では無くてスクリプト個別で変えたいのだよ、と思って下の方を読んでみると

python -S

なるオプションが紹介されていた。

そこで、わりと無理やり

#!/usr/bin/python -S
import sys
sys.setdefaultencoding('utf-8')

という手を思いついた。
shebangスクリプトを起動できる状況限定だけど問題なく動く。
しかしsite.pyを読まなくなるので、副作用があってよろしくないかもしれない。