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!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage