Sha256: 0c3f20aa7014597568690a5ff8c5afaa073c165312c0267b6b5ff2b8e4806a8d

Contents?: true

Size: 515 Bytes

Versions: 6

Compression:

Stored size: 515 Bytes

Contents

module ICU
  module Util
    # Decide if a string is valid UTF-8 or not, returning true or false.
    def self.is_utf8(str)
      dup = str.dup
      dup.force_encoding("UTF-8")
      dup.valid_encoding?
    end
    
    # Try to convert any string to UTF-8.
    def self.to_utf8(str)
      utf8 = is_utf8(str)
      dup = str.dup
      return dup.force_encoding("UTF-8") if utf8
      dup.force_encoding("Windows-1252") if dup.encoding.name.match(/^(ASCII-8BIT|UTF-8)$/)
      dup.encode("UTF-8")
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
icu_name-1.0.16 lib/icu_name/util.rb
icu_name-1.0.15 lib/icu_name/util.rb
icu_name-1.0.14 lib/icu_name/util.rb
icu_name-1.0.13 lib/icu_name/util.rb
icu_name-1.0.12 lib/icu_name/util.rb
icu_name-1.0.11 lib/icu_name/util.rb