Google App Engine TextProperty und UTF-8: Zeitpunkt der Kodierung / Dekodierung
Ich bin auf Google App Engine 2.5 mit Django Template und Webapp Frame.
Die db.TextProperty und UTF-8 sowie Unicode und Decode / Encode haben mich so verwirrt. Ich würde mich sehr freuen, wenn einige Experten einige Vorschläge machen können. Ich habe die ganze Nacht gegoogelt und immer noch so viele Fragen.
Was ich versuche zu tun:
[utf-8 form input] => [Python, Store in db.TextProperty] => [When Needed, Replace Japanese with English] => [HTML, UTF-8]
Nach dieser AntwortZusammenzippen von Unicode-Zeichenfolgen in Python
# -*- coding: utf-8 -*-
und alle .py-Dateien, die im utf-8-Format gespeichert sind
Hier ist mein Code:
#Model.py
class MyModel(db.Model):
content = db.TextProperty()
#Main.py
def post(self):
content=cgi.escape(self.request.get('content'))
#what is the type of content? Unicode? Str? or Other?
obj = MyModel(content=content)
#obj = MyModel(content=unicode(content))
#obj = MyModel(content=unicode(content,'utf-8'))
#which one is the best?
obj.put()
#Replace one Japanese word with English word in the content
content=obj.content
#what is the type of content here? db.Text? Unicode? Str? or Other?
#content=unicode(obj.content, 'utf-8') #Is this necessary?
content=content.replace(u'ひと',u'hito')
#Output to HTML
self.response.out.write(template.render(path, {'content':content})
#self.response.out.write(template.render(path, {'content':content.encode('utf-8')})
Hoffe, dass einige Google App Engine-Ingenieure diese Frage sehen und Hilfe anbieten können. Danke vielmals!