UnicodeEncodeError:'ascii'编解码器不能以特殊名称编码字符
我的Python(版本2.7)脚本运行良好从本地html文件获得一些公司名称,但是当涉及到一些特定的国家名称,它给出了这个错误“UnicodeEncodeError:”ascii“编解码器不能编码字符”
当这个公司名字来临的时候特别会出错
公司名称: KühlfixKälteanlagenIng.Gerhard Doczekal&Co. KG
该链接无法处理
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)
尝试在脚本开始处将系统默认编码设置为utf-8
,以便所有string都使用该编码进行编码。
示例 –
import sys reload(sys) sys.setdefaultencoding('utf-8')
上面应该将默认编码设置为utf-8
。
你真的想这样做
flog.write("\nCompany Name: "+ pCompanyName.encode('utf-8'))
这是unicode演示文稿中描述的“编码迟到”策略(幻灯片32到35)。