Without this change, non ASCII subject issue cannot be created on Ruby 1.9. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8714 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
84e2822e27
commit
24d73d4644
|
@ -43,6 +43,28 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
end
|
||||
|
||||
# FIXME: Remove this when all of Rack and Rails have learned how to
|
||||
# properly use encodings
|
||||
before_filter :params_filter
|
||||
|
||||
def params_filter
|
||||
if RUBY_VERSION >= '1.9' && defined?(Rails) && Rails::VERSION::MAJOR < 3
|
||||
self.utf8nize!(params)
|
||||
end
|
||||
end
|
||||
|
||||
def utf8nize!(obj)
|
||||
if obj.is_a? String
|
||||
obj.respond_to?(:force_encoding) ? obj.force_encoding("UTF-8") : obj
|
||||
elsif obj.is_a? Hash
|
||||
obj.each {|k, v| obj[k] = self.utf8nize!(v)}
|
||||
elsif obj.is_a? Array
|
||||
obj.each {|v| self.utf8nize!(v)}
|
||||
else
|
||||
obj
|
||||
end
|
||||
end
|
||||
|
||||
before_filter :user_setup, :check_if_login_required, :set_localization
|
||||
filter_parameter_logging :password
|
||||
|
||||
|
|
Loading…
Reference in New Issue