]> git.openstreetmap.org Git - rails.git/blobdiff - lib/utf8.rb
Merge pull request #29 from zerebubuth/routing-ui-tweaks-2
[rails.git] / lib / utf8.rb
index 90b8f0413e99237b7a808d1d397301da3e021442..c6e1918afb198b26a245325796624718a3d1f856 100644 (file)
@@ -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