Python 如何在GAE text.Property字段中将文本存储为UTF-8?

Python 如何在GAE text.Property字段中将文本存储为UTF-8?,python,google-app-engine,encoding,google-cloud-datastore,Python,Google App Engine,Encoding,Google Cloud Datastore,我知道GAE默认将db.TextProperty存储为ASCII。如何在文本字段中存储utf编码的文本?我尝试了db.Text(txt,encoding='utf_8'),但无法让它工作 使用交互式控制台没有回溯,只是一个普通的请求失败了。但是不使用“Ü”来传递文本是有效的。所以我确信这是一个编码问题。有人能帮忙吗 class Greeting(db.Model): lang_category = db.StringProperty(choices=("de_DE", "en_US",

我知道GAE默认将
db.TextProperty
存储为ASCII。如何在文本字段中存储utf编码的文本?我尝试了
db.Text(txt,encoding='utf_8')
,但无法让它工作

使用交互式控制台没有回溯,只是一个普通的
请求失败了
。但是不使用“Ü”来传递文本是有效的。所以我确信这是一个编码问题。有人能帮忙吗

class Greeting(db.Model):
    lang_category = db.StringProperty(choices=("de_DE", "en_US", "pt_PT"), 
                                     required=True)
    greet_txt = db.TextProperty(required=True)


def put_greet(lang,txt):
    g = Greeting(lang_category = lang,
        greet_txt = db.Text(txt, encoding='utf_8'))
    g.put()


put_greet("de_DE","Voller Überzeugung.")
试一试

def put_greet(lang,txt):
    g = Greeting(lang_category = lang,
        greet_txt = db.Text(txt))
    g.put()


另外,我更喜欢使用ndb(google.appengine.ext.ndb)模块而不是db。

以前尝试过这个,但在interactive命令中也不起作用。当通过脚本运行时,它确实可以工作。它在开发服务器中不起作用,但编码错误似乎来自web界面,而不是db模块。
put_greet("de_DE", u"Voller Überzeugung.")