Project

General

Profile

Bug #7967

String#encode invalid: :replace doesn't replace invalid chars

Added by Maximilian Haack almost 3 years ago. Updated almost 3 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
ruby -v:
2.0.0-p0
Backport:
2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
[ruby-core:52935]

Description

=begin
1.9.3p385 :001 > "\xc3\x28".encode('UTF-8', 'UTF-8', invalid: :replace) =~ /\s/
=> nil

2.0.0-p0 :001 > "\xc3\x28".encode!('UTF-8', 'UTF-8', invalid: :replace) =~ /\s/
ArgumentError: invalid byte sequence in UTF-8
from (irb):1
from /Users/max/.rvm/rubies/ruby-2.0.0-p0/bin/irb:16:in `'
=end


Related issues

Related to Ruby trunk - Feature #6321: Find and repair bad bytes in encodings, without transcoding Closed 04/19/2012
Related to Ruby trunk - Feature #6752: Replacing ill-formed subsequencce Closed 07/19/2012

Associated revisions

Revision 40391
Added by Yui NARUSE almost 3 years ago

Add example for String#scrub

[Feature #6321] [Feature #6752] [Bug #7967]

Revision 40391
Added by Yui NARUSE almost 3 years ago

Add example for String#scrub

[Feature #6321] [Feature #6752] [Bug #7967]

History

#1 [ruby-core:52938] Updated by Nobuyoshi Nakada almost 3 years ago

  • Status changed from Open to Rejected

String#encode does nothing when source and destination encodings are same.

Also available in: Atom PDF