Вставить запись с символом utf-8 (китайский, арабский, японский и т. Д.) В хранилище данных GAE программно с помощью python - PullRequest
2 голосов
/ 06 декабря 2010

Я просто хочу построить простой перевод пользовательского интерфейса, встроенный в GAE (используя python SDK).

def add_translation(self, pid=None):
    trans = Translation()
    trans.tlang = db.Key("agtwaW1kZXNpZ25lcnITCxILQXBwTGFuZ3VhZ2UY8aIEDA")
    trans.ttype = "UI"
    trans.transid = "ui-about"
    trans.content = "关于我们"
    trans.put()

это приводит к ошибке кодирования:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

Как кодировать правильную вставкусодержимое с символом Unicode (utf-8)?

1 Ответ

6 голосов
/ 06 декабря 2010

с использованием записи u:

>>> s=u"关于我们"
>>> print s
关于我们

Или явно, указав кодировку:

>>> s=unicode('אדם מתן', 'utf8')
>>> print s
אדם מתן 

Подробнее читайте на странице Unicode HOWTO на сайте документации по python.

...