これはコードです:
print '"' + title.decode('utf-8', errors='ignore') + '",' \
' "' + title.decode('utf-8', errors='ignore') + '", ' \
'"' + desc.decode('utf-8', errors='ignore') + '")'
title と desc は Beautiful Soup 3 ( p[0].textとp[0].prettify ) によって返され、BeautifulSoup3 のドキュメントからわかる限り、UTF-8 でエンコードされています。
私が走れば
python.exe script.py > out.txt
次のエラーが表示されます。
Traceback (most recent call last):
File "script.py", line 70, in <module>
'"' + desc.decode('utf-8', errors='ignore') + '")'
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf8' in position 264
: ordinal not in range(128)
ただし、実行すると
python.exe script.py
エラーは発生しません。出力ファイルが指定されている場合にのみ発生します。
出力ファイルで適切な UTF-8 データを取得するには?