##// END OF EJS Templates
do not replace all invalid utf8 (#24616)...
Toshi MARUYAMA -
r15891:b2c0ea2c3e15
parent child
Show More
@@ -6,7 +6,7 module Redmine
6 6 return str if str.nil?
7 7 str.force_encoding('UTF-8')
8 8 if ! str.valid_encoding?
9 str = str.encode("US-ASCII", :invalid => :replace,
9 str = str.encode("UTF-16LE", :invalid => :replace,
10 10 :undef => :replace, :replace => '?').encode("UTF-8")
11 11 end
12 12 str
@@ -91,7 +91,7 class Redmine::CodesetUtilTest < ActiveSupport::TestCase
91 91 s2 = Redmine::CodesetUtil.replace_invalid_utf8(s1)
92 92 assert s2.valid_encoding?
93 93 assert_equal "UTF-8", s2.encoding.to_s
94 assert_equal "??????", s2
94 assert_equal "\xe3\x81\x93\xe3\x82\x93\xe3\x81\xab\xe3\x81\xa1??".force_encoding("UTF-8"), s2
95 95 end
96 96
97 97 test "#to_utf8 should replace invalid non utf8" do
General Comments 0
You need to be logged in to leave comments. Login now