Plone 3.3.x
在一台服务器上,self.request.post.values() 是 unicode(正确)。 在另一台服务器上,它们是字节串。
这是怎么回事?
Zope 怪物的深处哪里决定了这一点?为什么它们不同?为什么我不到30岁头发就全掉光了?
最佳答案
默认情况下,Zope 2 会对请求值进行编码。但是一些表单库(formlib、z3c.form)是为 Zope 3 编写的,并且想要处理 Unicode,因此 Five 中有一个帮助程序(processInputs),它们在执行其他操作之前调用它来解码请求
plone.z3cform 通过猴子修补基本表单类的更新方法来调用 processInputs 来实现此目的。出于某种原因,听起来您的情况并没有被调用。
关于encoding - Zope 2 编码/解码 request.form.items 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5405396/