Sha256: d04638f500ef9c75db18e70e9179c5b4633677d3467d896b7be6fd9315a05a25

Contents?: true

Size: 865 Bytes

Versions: 21

Compression:

Stored size: 865 Bytes

Contents

# encoding: UTF-8
# XSD4R - Charset handling with iconv.
# Copyright (C) 2000-2007  NAKAMURA, Hiroshi <nahi@ruby-lang.org>.

# This program is copyrighted free software by NAKAMURA, Hiroshi.  You can
# redistribute it and/or modify it under the same terms of Ruby's license;
# either the dual license version in 2003, or any later version.

require 'iconv' unless ''.respond_to? :encode

module XSD


class IconvCharset
  def self.safe_iconv(to, from, str)
    return str.encode(to, from, :invalid => :replace, :undef => :replace, :replace => '?') if ''.respond_to? :encode
    iconv = Iconv.new(to, from)
    out = ""
    begin
      out << iconv.iconv(str)
    rescue Iconv::IllegalSequence => e
      out << e.success
      ch, str = e.failed.split(//, 2)
      out << '?'
      warn("Failed to convert #{ch}")
      retry
    end
    return out
  end
end


end

Version data entries

21 entries across 21 versions & 4 rubygems

Version Path
soap4r_es-0.0.10 lib/xsd/iconvcharset.rb
soap4r-ng-2.0.6 lib/xsd/iconvcharset.rb
soap4r-ng-2.0.5 lib/xsd/iconvcharset.rb
soap4r_es-0.0.9 lib/xsd/iconvcharset.rb
rtiss_soap4r-2.1.1 lib/xsd/iconvcharset.rb
soap4r_es-0.0.8 lib/xsd/iconvcharset.rb
soap4r_es-0.0.7 lib/xsd/iconvcharset.rb
rtiss_soap4r-2.1.0 lib/xsd/iconvcharset.rb
soap4r-ng-2.0.4 lib/xsd/iconvcharset.rb
soap4r_es-0.0.6 lib/xsd/iconvcharset.rb
rtiss_soap4r-2.0.6 lib/xsd/iconvcharset.rb
soap4r_es-0.0.5 lib/xsd/iconvcharset.rb
soap4r_es-0.0.4 lib/xsd/iconvcharset.rb
soap4r_es-0.0.3 lib/xsd/iconvcharset.rb
soap4r_es-0.0.1 lib/xsd/iconvcharset.rb
rtiss_soap4r-2.0.5 lib/xsd/iconvcharset.rb
rtiss_soap4r-2.0.4 lib/xsd/iconvcharset.rb
rubyjedi-soap4r-2.0.2.1 lib/xsd/iconvcharset.rb
soap4r-ng-2.0.3 lib/xsd/iconvcharset.rb
soap4r-ng-2.0.2 lib/xsd/iconvcharset.rb