Sha256: 23285f653a6dd04193b010ede10e0e856c308da8b18d42d1ffef3eca4f4138ff

Contents?: true

Size: 453 Bytes

Versions: 13

Compression:

Stored size: 453 Bytes

Contents

class FileReader
  def self.read(file)
    str = File.read(file)

    # Try it as UTF-8 directly
    cleaned = str.dup.force_encoding('UTF-8')
    unless cleaned.valid_encoding?
      # Some of it might be old Windows code page
      cleaned = str.encode( 'UTF-8', 'Windows-1252' )
    end
    str = cleaned
  rescue EncodingError
    # Force it to UTF-8, throwing out invalid bits
    str.encode!('UTF-8', invalid: :replace, undef: :replace)
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
dcm-0.0.22 lib/file_reader.rb
dcm-0.0.21 lib/file_reader.rb
dcm-0.0.20 lib/file_reader.rb
dcm-0.0.18 lib/file_reader.rb
dcm-0.0.17 lib/file_reader.rb
dcm-0.0.16 lib/file_reader.rb
dcm-0.0.15 lib/file_reader.rb
dcm-0.0.14 lib/file_reader.rb
dcm-0.0.13 lib/file_reader.rb
dcm-0.0.12 lib/file_reader.rb
dcm-0.0.11 lib/file_reader.rb
dcm-0.0.10 lib/file_reader.rb
dcm-0.0.9 lib/file_reader.rb