3 Stimmen

UnicodeEncodeError Google App Engine

Mir kommt das sehr bekannt vor:

UnicodeEncodeError: 'ascii' Codec kann das Zeichen u' nicht kodieren \xe8 ' an Position 24: Ordnungszahl nicht im Bereich(128)

Ich habe mir mehrere Beiträge auf SO angesehen und sie empfehlen - variable.encode('ascii', 'ignore')

Dies funktioniert jedoch nicht. Auch danach erhalte ich die gleiche Fehlermeldung ...

Der Stack-Trace:

'ascii' codec can't encode character u'\x92' in position 18: ordinal not in range(128)
Traceback (most recent call last):
  File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
    handler.post(*groups)
  File "/base/data/home/apps/autominer1/1.343038273644030157/siteinfo.py", line 2160, in post
    imageAltTags.append(str(image["alt"]))
UnicodeEncodeError: 'ascii' codec can't encode character u'\x92' in position 18: ordinal not in range(128)

Der dafür zuständige Code:

siteUrl = urlfetch.fetch("http://www."+domainName, headers = { 'User-Agent' : 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b5) Gecko/2008032620 Firefox/3.0b5' } )

 webPage = siteUrl.content.decode('utf-8', 'replace').encode('ascii', 'replace')

 htmlDom = BeautifulSoup(webPage)

 imageTags = htmlDom.findAll('img', { 'alt' : True } )

 for image in imageTags :
                        if len(image["alt"]) > 3 :
                                imageAltTags.append(str(image["alt"]))

Für jede Hilfe wäre ich dankbar. Danke.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X