]> source.dussan.org Git - redmine.git/commitdiff
scm: Ruby 1.9 compatibility for diff, cat and blame (#2664).
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Tue, 22 Feb 2011 08:29:35 +0000 (08:29 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Tue, 22 Feb 2011 08:29:35 +0000 (08:29 +0000)
"\xC2\x80" of latin1(iso-8859-1) is valid sequence of UTF-8.
to_utf8() should not return string if it is UTF-8 valid_encoding.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4922 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/repositories_helper.rb

index 68d9ad14dc97d2b9db092dac924674dd80a79adc..c140591667d5f2f3ac3e02e3d5cda2319b5e1090 100644 (file)
@@ -119,11 +119,13 @@ module RepositoriesHelper
   def to_utf8(str)
     if str.respond_to?(:force_encoding)
       str.force_encoding('UTF-8')
-      return str if str.valid_encoding?
     else
+      # TODO:
+      # Japanese Shift_JIS(CP932) is not compatible with ASCII.      
+      # UTF-7 and Japanese ISO-2022-JP are 7bits clean.
       return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii
     end
-    
+
     @encodings ||= Setting.repositories_encodings.split(',').collect(&:strip)
     @encodings.each do |encoding|
       begin