diff --git a/lib/active_admin_import/model.rb b/lib/active_admin_import/model.rb index 1057e38..a5f173f 100644 --- a/lib/active_admin_import/model.rb +++ b/lib/active_admin_import/model.rb @@ -132,9 +132,16 @@ def define_methods_for(attr_name) end def encode(data) - data.encode(force_encoding, "binary", - invalid: :replace, undef: :replace, replace: ""). - sub("\xEF\xBB\xBF", "") + data = data.force_encoding("UTF-8") + unless data.valid_encoding? + data = data.encode(force_encoding, + invalid: :replace, undef: :replace, replace: "") + end + begin + data.sub("\xEF\xBB\xBF", "") # bom + rescue ArgumentError => _ + data + end end class <