#823: ActiveSupport 3 RC1 Not working -------------------------------+-------------------------------------------- Reporter: maccman@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: #reduction -------------------------------+-------------------------------------------- Changes (by mattaimonetti@…): * keywords: => #reduction Comment: Watson is right, this is an encoding issue. Here is a slightly better reduction of the ActiveSupport problem: {{{ $ sudo macgem install activesupport $ macirb -rrubygems --simple-prompt
require "active_support/core_ext/uri" Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT }}}
Here is the file in question: http://github.com/rails/rails/blob/master/activesupport/lib/active_support/c... Now the real problem can be reduced like that: {{{ require 'uri' str = "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E" # Ni-ho-nn-go in UTF-8, means Japanese. puts str.encoding parser = URI::Parser.new puts parser.escape(str).encoding str == parser.unescape(parser.escape(str)) }}} The output will look like that: {{{ UTF-8 US-ASCII Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT }}} The same file executed under 1.9.2 will return the following: {{{ ASCII-8BIT US-ASCII => true }}} But if you add the magic encoding comment in 1.9.2: {{{ UTF-8 US-ASCII => true }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/823#comment:2> MacRuby <http://macruby.org/>