Hé les gars, je suis en train d'apprendre le moteur app google donc je suis en cours d'exécution dans un tas de problèmes ...urllib2, Google App Engine, et unicode question
Ma situation actuelle est la suivante. J'ai une base de données,
class Website(db.Model):
web_address = db.StringProperty()
company_name = db.StringProperty()
content = db.TextProperty()
div_section = db.StringProperty()
local_links = db.StringProperty()
absolute_links = db.BooleanProperty()
date_updated = db.DateTimeProperty()
et le problème que j'ai est avec la propriété de contenu. J'utilise db.TextProperty() parce que j'ai besoin de stocker le contenu d'une page web qui a> 500 octets.
Le problème que je rencontre est urllib2.readlines() formats comme unicode. Lors de la mise dans un TextProperty(), il convertit en ASCII. certains des caractères sont> 128 et il lance un UnicodeDecodeError.
Existe-t-il un moyen simple de contourner cela? Pour la plupart, je ne me soucie pas de ces personnages ...
mon erreur est:
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/init.py", line 511, in call handler.get(*groups) File "/base/data/home/apps/game-job-finder/1.346504560470727679/main.py", line 61, in get x.content = website_data_joined File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/init.py", line 542, in set value = self.validate(value) File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/init.py", line 2407, in validate value = self.data_type(value) File "/base/python_runtime/python_lib/versions/1/google/appengine/api/datastore_types.py", line 1006, in new return super(Text, cls).new(cls, arg, encoding) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 2124: ordinal not in range(128)
j'aurais pensé que la conversion Unicode en ASCII serait « coder » décodage non » ". Êtes-vous sûr que ce n'est pas l'inverse? –
oui, vous avez raison. – shawn
pourriez-vous ajouter l'extrait où vous faites la readline et mettre sur le magasin de données? – systempuntoout