这是代码:
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 数据?