I have been busy with zope.formlib.  See this weblog entry for some


This is Plone 3 with Zope 2.10.4 btw.

I discovered there is a difference between getting a value from the
request or from request.form when unicode is involved.  From a pdb

>>> request.form.get('SearchableText')
>>> request.get('SearchableText')

This is the character ÿ: a y with something extra on top. :) You can
see the same in a python prompt (I hope this is readable for

>>> u"ÿ"
>>> "ÿ"

This gave me problems while using zope.formlib.  In the method
zope.app.form.browser.textwidgets.TextWidget._getFormInput() the value
is fetched from the request and not request.form. So you get a
UnicodeDecodeError. In the weblog entry I mentioned I post some code
to guard against that in a setUpWidgets method in your own form page:
deliberately overwrite the variable in the request by the variable in

But what I want to ask here is: does something need to be fixed
somewhere in zope?

Should the value in request and request.form really be the same
always?  Probably: always unicode?

Should zope.app.form.browser.textwidgets.TextWidget._getFormInput()
get the value from the form instead of from the request?


Maurits van Rees | http://maurits.vanrees.org/ [NL]
            Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
 I can assure you mine are still greater."

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to