1

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

使用交互式控制台没有回溯,只是一个普通的request failed. 但是例如传递没有“Ü”的文本是有效的。所以我确定这是一个编码问题。有人可以帮忙吗?

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.")
4

1 回答 1

0

Try with

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

and

put_greet("de_DE", u"Voller Überzeugung.")

Also, I prefer to use the ndb (google.appengine.ext.ndb) module instead of the db.

于 2013-04-16T14:15:18.597 回答