Обновление программы Google Application Engine для использования Юникода - PullRequest
3 голосов
/ 29 октября 2008

У меня есть простое приложение Google App Engine, которое я написал с использованием обычных строк. Я понимаю, что хочу сделать так, чтобы он обрабатывал Unicode. Есть ли какие-нибудь ошибки с этим? Я думаю обо всех строках, которые у меня уже есть в базе данных. (От реальных пользователей, которых я не хочу расстраивать.)

Ответы [ 3 ]

2 голосов
/ 29 октября 2008

Александр Кожевников сказал: «В хранилище данных все строки хранятся в юникоде».

Другими словами, ваше приложение уже везде использует юникод. Спасибо людям Google за разумный API. Дальнейшая работа не требуется.

1 голос
/ 04 октября 2009

При сохранении в db.TextProperty () вам необходимо использовать db.Text (), например:

instance.xml = db.Text(xml_string, encoding="utf_8")

И укажите правильную кодировку, если в строке нет спецификации. Например, если вы получаете неожиданные данные Unicode из потока XML.

Это случилось со мной при использовании API продукта Amazon.com.

Также у urlfetch Google были проблемы с юникодом, связанные с этим потоком. Поэтому я в итоге запустил функцию parse () minidom вместо parseString () в возврате urllib.urlopen (), который действует как поток, чтобы решить проблему:

response = urllib.urlopen(url)
xml = minidom.parse(response)
1 голос
/ 29 октября 2008

В хранилище данных все строки хранятся в юникоде .

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