Issue #8123 has been updated by duerst (Martin Drst).


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: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>