# HG changeset patch
# User Toshi MARUYAMA
# Date 1273417741 -32400
# Node ID f4ff235ab91d303f013bd46c8ce07cb1f47a82ee
# Parent fbbea7e710f4d4af4f6761aa2eaefaef568c5333
application controller params force_encoding

diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -35,6 +35,31 @@ class ApplicationController < ActionCont
       return false
     end
   end
+
+  before_filter :params_filter
+  def params_filter
+    if RUBY_VERSION >= '1.9'
+      self.utf8nize(params)
+    end
+  end
+
+  def utf8nize(obj)
+    if obj.is_a? String
+      if obj.respond_to?(:force_encoding)
+        obj.force_encoding("UTF-8")
+      else
+        obj
+      end
+    elsif obj.is_a? Hash
+      obj.each {|key, val|
+              obj[key] = self.utf8nize(val)
+          }
+    elsif obj.is_a? Array
+      obj.map {|val| self.utf8nize(val)}
+    else
+      obj
+    end
+  end
   
   before_filter :user_setup, :check_if_login_required, :set_localization
   filter_parameter_logging :password
