openstreetmap-website/lib/utf8.rb
2012-05-27 13:51:25 +01:00

21 lines
485 B
Ruby

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.
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