From: justin@... Date: 2019-01-02T17:31:23+00:00 Subject: [ruby-core:90859] [Ruby trunk Bug#8123] Transcoding exception when using replace along with universal_newline Issue #8123 has been updated by jsc (Justin Collins). This code appears to be working (not raising an exception) as early as Ruby 2.1.10: ~~~ $ ruby -v ruby 2.1.10p492 (2016-04-01 revision 54464) [x86_64-darwin17.0] $ irb 2.1.10 :001 > body, charset = "hey", "hey".encoding.to_s => ["hey", "UTF-8"] 2.1.10 :002 > body = body.encode('UTF-8', charset, 2.1.10 :003 > :invalid => :replace, :undef => :replace, 2.1.10 :004 > :replace => '', :universal_newline => true 2.1.10 :005?> ) => "hey" ~~~ ---------------------------------------- Bug #8123: Transcoding exception when using replace along with universal_newline https://bugs.ruby-lang.org/issues/8123#change-76045 * Author: k776 (Kieran P) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 1.9.3 and 2.0.0 * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- The following can be reproduced on 1.9.3-p385, 1.9.3-p392, and 2.0.0-p0. body, charset = "hey", "hey".encoding.to_s body = body.encode('UTF-8', charset, :invalid => :replace, :undef => :replace, :replace => '', :universal_newline => true ) Encoding::ConverterNotFoundError: code converter not found (universal_newline) However, if you remove ":replace => '', ", then it works as intended. Seems you can't use the two options together. -- https://bugs.ruby-lang.org/ Unsubscribe: