utf8 bytes python unicode encoding beautifulsoup ascii

bytes - unicode python



UnicodeEncodeError: el códec ''ascii'' no puede codificar caracteres con un nombre especial (2)

Intente configurar la codificación predeterminada del sistema como utf-8 al comienzo del script, para que todas las cadenas se codifiquen con eso.

Ejemplo

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

Lo anterior debería establecer la codificación predeterminada como utf-8 .

Mi script de Python (ver 2.7) se está ejecutando bien para obtener algún nombre de la compañía de los archivos html locales, pero cuando se trata de un nombre de país específico, me da este error "UnicodeEncodeError: el códec ''ascii'' no puede codificar caracteres"

Especialmente obteniendo error cuando viene el nombre de esta compañía

Nombre de la empresa: Kühlfix Kälteanlagen Ing.Gerhard Doczekal & Co. KG

El enlace no puede ser procesado

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)

El error da en esta línea de código:

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)


Realmente quieres hacer esto

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

Esta es la estrategia de "codificación tardía" descrita en esta presentación unicode (diapositivas 32 a 35).