的Plone 3.3.x哪裏的Zope 2個編碼/解碼request.form.items
在一臺服務器,self.request.post.values()是Unicode的(正確的)。 在另一臺服務器上,它們是字節串。
這是怎麼回事?
在Zope怪獸深處這是決定的嗎?他們爲什麼不同?爲什麼我在30歲之前失去所有頭髮?
的Plone 3.3.x哪裏的Zope 2個編碼/解碼request.form.items
在一臺服務器,self.request.post.values()是Unicode的(正確的)。 在另一臺服務器上,它們是字節串。
這是怎麼回事?
在Zope怪獸深處這是決定的嗎?他們爲什麼不同?爲什麼我在30歲之前失去所有頭髮?
默認情況下,Zope 2保留編碼的請求值。但是一些表單庫(formlib,z3c.form)是爲Zope 3編寫的並且想要處理Unicode,所以在執行其他任何操作之前,他們調用Five(processInputs)中的幫助程序來解碼請求。 z3cform通過猴子修補基本窗體類的更新方法來調用processInputs來做到這一點。這聽起來好像不會因爲某種原因而被召喚。
好的。看起來像猴子修補失敗: 2011-03-24 10:17:13錯誤collective.monkeypatcher無法修補,因爲版本無法識別。通緝:[2,13,9],已安裝:[] 2011-03-24 10:17:13 INFO collective.monkeypatcher修補範圍的前提條件
我也打這個,只有沒有猴子補丁進行。我們能解決這個問題嗎? – iElectric 2012-03-02 23:09:34
z3c.form。我懷疑Five是不知何故參與的。 – 2011-03-23 12:46:09
也z3c.form需要Unicode。否則它不起作用。出於某種原因,一臺服務器上的這個實例開始吐出字節串。當您嘗試提交表單時,您會在任何字段上看到「對象無效」或類似的錯誤消息。 AT表格仍然工作。 – 2011-03-23 14:08:03