class method self.tidy_bytes

Ruby on Rails 2.3.18

Since v2.2.3 Last seen in v2.3.18

Available in: v2.2.3 v2.3.18

Signature

self.tidy_bytes(string)

Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent resulting in a valid UTF-8 string.

Parameters

string req
Source
# File activesupport/lib/active_support/multibyte/chars.rb, line 636
        def tidy_bytes(string)
          string.split(//u).map do |c|
            c.force_encoding(Encoding::ASCII) if c.respond_to?(:force_encoding)

            if !ActiveSupport::Multibyte::VALID_CHARACTER['UTF-8'].match(c)
              n = c.unpack('C')[0]
              n < 128 ? n.chr :
              n < 160 ? [UCD.cp1252[n] || n].pack('U') :
              n < 192 ? "\xC2" + n.chr : "\xC3" + (n-64).chr
            else
              c
            end
          end.join
        end

Defined in activesupport/lib/active_support/multibyte/chars.rb line 636 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveSupport::Multibyte::Chars

Type at least 2 characters to search.

↑↓ navigate · open · esc close