codeEncodeError: 'ascii' codec can't encode characters in position 2-9: ordinal not in range(128)
調べてみると、どうやら内部仕様からこのエラーが出てくるようですね。出力文字コードに ASCII 以外の文字が含まれる時は何かにエンコードする必要があるようです。標準出力の時のみ自動でOSの利用している文字コードにエンコードしてくれるのでエラーが出ませんでしたが、リダイレクト時には何にエンコードしたらいいのかわからずエラーが出たようです。
str = u"あ"
print str.encode(sys.getfilesystemencoding())
print str.encode(sys.getfilesystemencoding())
で解決するようです。
...どうでもいいですが Python って便利って聞いてますがですが、文字コード周りは面倒ですね...。
0 件のコメント:
コメントを投稿