class Iconv
Constants
- UNKNOWN_CHARACTER
Public Class Methods
iconv_to_from(to, from, str)
click to toggle source
# File vendor/qwik/lib/qwik/util-charset.rb, line 167 def self.iconv_to_from(to, from, str) iconv = Iconv.new(to, from) out = '' begin out << iconv.iconv(str) rescue Iconv::IllegalSequence => e # FIXME: Merge with InvalidCharacter out << e.success ch, str = e.failed.split(//u, 2) out << UNKNOWN_CHARACTER retry rescue Iconv::InvalidCharacter => e out << e.success ch, str = e.failed.split(//u, 2) out << UNKNOWN_CHARACTER retry end out.set_charset(to) return out end
iconv_to_utf8(from, str)
click to toggle source
# File vendor/qwik/lib/qwik/util-charset.rb, line 187 def self.iconv_to_utf8(from, str) to = 'UTF-8' iconv = Iconv.new(from, to) out = '' begin out << iconv.iconv(str) rescue Iconv::IllegalSequence => e out << e.success ch, str = e.failed.split(//u, 2) if respond_to?(:unknown_unicode_handler) u = ch.unpack('U').first out << unknown_unicode_handler(u) else out << UNKNOWN_CHARACTER end retry end out.set_charset(to) return out end
unknown_unicode_handler(u)
click to toggle source
# File vendor/qwik/lib/qwik/util-charset.rb, line 208 def self.unknown_unicode_handler (u) return sprintf("&#x%04x;", u) end