UnicodeEncodeError:“ ascii”编解码器无法对特殊名称的字符进行编码

问题描述

尝试utf-8在脚本开始时设置系统认编码,以便所有字符串都使用该编码进行编码。

范例-

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

上面应该将认编码设置为utf-8

解决方法

我的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)