Python 2.7, хранилище данных Appengine & Unicode - PullRequest
4 голосов
/ 09 марта 2012

Итак, я много читал о Unicoding сегодня вечером, потому что думал о переходе на Jinja2, который требует использования Unicode везде в приложении.Я думаю, что у меня есть хорошая идея, как с этим справиться, но я хотел бы узнать, разумно ли это, прежде чем я начал кодировать свое приложение:

  1. Работа с внешним текстом-Входы (через HTML-формы)

    a) Убедитесь, что все HTML-страницы имеют кодировку utf-8.б) После того, как пользователи нажмут на кнопку submit, убедитесь, что данные конвертируются в Unicode, как только бэкэнд Python получит их ... decode (self.request.get ('stuff'), utf-8)c) Оставайтесь в Unicode, перенесите выходные данные в Jinja2, который всегда будет использовать кодировку utf-8 по умолчанию.

  2. Информация из хранилища данных appengine

    Поскольку Google сохраняет все как Unicode, все данные, поступающие из хранилища данных, уже являются Unicode, и мне не о чем беспокоиться (ууу!)

  3. Строкив приложении

    Убедитесь, что все "" начинаются с au (т.е. вы "привет мир"), это заставит все быть в юникоде.

Что ж, выше приведена моя стратегия, чтобы все было согласованно.Есть ли что-то еще, что мне нужно учитывать?

спасибо!

1 Ответ

1 голос
/ 30 марта 2012

Вам не нужно вводить .decode (self.request.get ('stuff'), utf-8, если вы используете webapp или webapp2. Каркас учитывает тип ввода данных, как указано.

Все остальное выглядит правильно.

Также я считаю, что

from __future__ import unicode_strings

должно быть

from __future__ import unicode_literals

и доступно только в 2.6 и 2.7 Так что в App Engine это будет толькобыть доступным, если вы используете 2.7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...