2011-09-19 45 views
0

我在Rails 3.1.0中發佈參數時出現了一個奇怪的問題。軌道參數編碼問題

這隻發生在生產中而不是發展中。

我已經證實,做一個職位時,參數傳遞到服務器:

UTF8 =%E2%9C%93 & authenticity_token = jOn16Uw3oUBPQfX02nt1IN8muZf150nTt24Ic4JgPvY%3D &警報%5Btitle%5D = HTTP% 3A%2F%2Fwww &警報%5Bheadline%5D =%26headline

它看起來像解碼時,以下幾點:

UTF8 =✓& authenticity_token = jOn16Uw3oUBPQfX02nt1IN8muZf150nTt24Ic4JgPvY = &警報[標題] = HTTP:// WWW &警報[標題] = &標題

然而,在服務器側,參數被接收爲:

{"utf8"=>"✓", "authenticity_token"=>"jOn16Uw3oUBPQfX02nt1IN8muZf150nTt24Ic4JgPvY=", 
"alert"=>{"status"=>"published", 
      "title"=>"http://www", "headline"=>"&headline"} 

顯然,我不希望存儲編碼值。

我正在使用Rails 3.1.0,獨角獸和Nginx。 我也試過這個Rails 3.1.0,乘客,Apache的堆棧,並有同樣的問題。 在這兩種情況下,我使用1.9.2p290。

我會很感激任何建議。有沒有我不知道的新產品設置?

回答