UnicodeEncodeError:“ascii”编解码器无法在特定nam对字符进行编码

2024-05-31 23:43:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python(2.7版)脚本运行良好,可以从本地html文件中获取一些公司名称,但是当涉及到某个特定的国家/地区名称时,它会给出以下错误:“UnicodeEncodeError:”ascii“编解码器无法对字符进行编码”

当这个公司的名字来的时候特别会出错

公司名称:Kühlfix Kälteanlageng Ing.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)

Tags: textnamein脚本名称错误ascii公司
2条回答

你真的想这么做

flog.write("\nCompany Name: "+ pCompanyName.encode('utf-8'))

这是本unicode presentation(幻灯片32到35)中描述的“后期编码”策略。

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

示例-

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

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

相关问题 更多 >