X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/52e5fa6ad78f375cec5a207a123a4aa3939c8ddf..0dbd18e2bb685c432d775f186f114cf4f3de3ca4:/lib/utf8.rb?ds=sidebyside diff --git a/lib/utf8.rb b/lib/utf8.rb index 90b8f0413..c6e1918af 100644 --- a/lib/utf8.rb +++ b/lib/utf8.rb @@ -1,16 +1,21 @@ -require 'iconv' - module UTF8 ## # Checks that a string is valid UTF-8 by trying to convert it to UTF-8 # using the iconv library, which is in the standard library. - def self.valid?(str) - return true if str.nil? - Iconv.conv("UTF-8", "UTF-8", str) - return true - - rescue - return false - end -end + if String.new.respond_to?("valid_encoding?") + def self.valid?(str) + return true if str.nil? + return str.valid_encoding? + end + else + require 'iconv' + def self.valid?(str) + return true if str.nil? + Iconv.conv("UTF-8", "UTF-8", str) + return true + rescue + return false + end + end +end