Где Zope 2 кодирует / декодирует request.form.items - PullRequest
2 голосов
/ 23 марта 2011

Plone 3.3.x

На одном сервере self.request.post.values ​​() имеют юникод (правильно).На другом сервере они являются строками.

Что происходит?

Где в глубине монстра Zope это решается?Почему они разные?Почему я теряю волосы до того, как мне исполнилось 30 лет?

1 Ответ

6 голосов
/ 23 марта 2011

По умолчанию Zope 2 оставляет закодированные значения запроса. Но некоторые библиотеки форм (formlib, z3c.form) были написаны для Zope 3 и хотят иметь дело с Unicode, поэтому в Five есть помощник (processInputs), который они вызывают для декодирования запроса, прежде чем делать что-либо еще

plone.z3cform делает это, монтируя патчи в методе обновления класса базовой формы для вызова processInputs. По некоторым причинам это звучит так, как будто вам не звонят.

...