むつの日記

20c3d8ac むつ 2006-05-16 21:20
Python の UnicodeEncodeError: 'ascii' codec can't encode characters in position 云々というエラー
ターミナルに出力するときはオッケーなのにリダイレクトするとエラーになってしまうのです。
なんでー? と調べていたら、以下のようでして。
http://www.python.jp/pipermail/python-ml-jp/2005-March/003246.html

>(リダイレクト)だとエラーとなるのは、デフォルトのエンコード名が変わっているからです。

>結論から言いますと、
> print "try '%s' in %s (%s)" % (s0, enc1, " ".join(map(lambda c:"%02x" % ord(c), s)))
>の s0 のところを
> repr(s0)
>または
> s0.encode(sys.getfilesystemencoding())
>とすればリダイレクトしてもしなくても同じ結果になると思います。

助かりました。

Top of this page. | <<last 0 1 2 3 4 5

limit: 15360KB

(むつの日記/532/3.8MB)


Powered by shinGETsu.