If repository path is not UTF-8, Ruby 1.9 shows trace. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4921 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
1 parent
11e4c5c1ea
commit
1d6fbe5602
2 files changed
+18
-9
No files matched your search
@@ -132,14 +132,21 @@ module RepositoriesHelper
|
||||
# do nothing here and try the next encoding
|
||||
end
|
||||
end
|
||||
str = replace_invalid_utf8(str)
|
||||
end
|
||||
|
||||
def replace_invalid_utf8(str)
|
||||
if str.respond_to?(:force_encoding)
|
||||
str = str.encode("ASCII-8BIT", :invalid => :replace,
|
||||
str.force_encoding('UTF-8')
|
||||
if ! str.valid_encoding?
|
||||
str = str.encode("US-ASCII", :invalid => :replace,
|
||||
:undef => :replace, :replace => '?').encode("UTF-8")
|
||||
end
|
||||
end
|
||||
str
|
||||
end
|
||||
|
||||
def repository_field_tags(form, repository)
|
||||
|
||||
def repository_field_tags(form, repository)
|
||||
method = repository.class.name.demodulize.underscore + "_field_tags"
|
||||
send(method, form, repository) if repository.is_a?(Repository) && respond_to?(method) && method != 'repository_field_tags'
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user