首页 文章

UnicodeEncodeError:'charmap'编解码器可以在python 2.7中't encode character u' \ xfd'

提问于
浏览
0

我从我的localhost下载来自不同网站的不同公司名称有时我遇到这个问题,这是中断下载程序 . 我的脚本对其他国家工作正常,但是当我下载捷克共和国时发生了这种类型的错误 .

到目前为止处理的公司总数:0 Traceback(最近一次调用最后一次):文件“process1.py”,第261行,打印“公司名称:”hit.text文件“C:\ Python27 \ lib \ encodings \ cp437.py “,第12行,编码返回codecs.charmap_encode(输入,错误,encoding_map)UnicodeEncodeError:'charmap'编解码器不能编码位置3中的字符u'\ xfd'3:字符映射到

我的代码在这里:

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)

我不知道为什么会这样 . 这个问题有什么建议吗?

1 回答

  • 1

    捷克语包含许多非ASCII字符 . u'\xfd'ý 的unicode表示形式 . 你需要解码 UTF-8 . 更好的解决方案是检测您正在使用的网站编码使用的内容并解码到该网站 .

    if companyAlreadyKnown == 0:
        for hit in soup2.findAll("h1"):
            company_name = hit.text.decode('utf-8')
    
            print "Company Name: " + company_name
    
            flog.write("\nCompany Name: " + pCompanyName)
            companyObj.setCompanyName(company_name)
    

相关问题