From: duerst@... Date: 2019-01-07T05:48:55+00:00 Subject: [ruby-core:90910] [Ruby trunk Bug#8123] Transcoding exception when using replace along with universal_newline Issue #8123 has been updated by duerst (Martin D��rst). jsc (Justin Collins) wrote: > This code appears to be working (not raising an exception) as early as Ruby 2.1.10: This may be related to issue #12431 (Strange behavior of String#encode('UTF-8', 'UTF-8', ...) when the encoding of the source string is not UTF-8). This issue was fixed about 2.5 years ago (i.e. Ruby 2.4 timeframe), and the fix was backported back two versions (i.e. Ruby 2.3 and 2.2, if I count correctly). I'm assigning this (even if maybe only temporarily) to Nobu, because he fixed issue #12431. ---------------------------------------- Bug #8123: Transcoding exception when using replace along with universal_newline https://bugs.ruby-lang.org/issues/8123#change-76099 * 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: