我的python(ver 2.7)脚本运行良好,从本地html文件中获取一些公司名称但是当涉及到某个特定的国家/地区名称时,它会出现此错误“UnicodeEncodeError:'ascii'compodec无法编码字符”< / p>
此公司名称出现时特别收到错误
公司名称:KühlfixKälteanlagenIng.GerhardDoczekal&amp;有限公司
无法处理链接
Traceback (most recent call last):
File "C:\Python27\Process2.py", line 261, in <module>
flog.write("\nCompany Name: "+str(pCompanyName))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 9: ordinal not in range(128)
错误在这行代码中给出:
if companyAlreadyKnown == 0:
for hit in soup2.findAll("h1"):
print "Company Name: "+hit.text
pCompanyName = hit.text
flog.write("\nCompany Name: "+str(pCompanyName))
companyObj.setCompanyName(pCompanyName)
答案 0 :(得分:220)
尝试在脚本开头将系统默认编码设置为utf-8
,以便使用该编码对所有字符串进行编码。
示例 -
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
以上内容应将默认编码设置为utf-8
。
答案 1 :(得分:32)
你真的想这样做
flog.write("\nCompany Name: "+ pCompanyName.encode('utf-8'))
这是unicode presentation中描述的“编码延迟”策略(幻灯片32到35)。