[MacRuby-devel] macruby produces strings with encodings that differ from MRI

Watson watson1978 at gmail.com
Sat Sep 17 22:07:21 PDT 2011


Hi,

Maybe related to http://www.macruby.org/trac/ticket/742.
MacRuby ignore magic-comment, and uses default encoding UTF8.

Thanks.

2011/9/18 Steve Clarke <steve at sclarkes.me.uk>:
> Code
> ========
>
> ABC='ABC'
> puts "ABC[0] encoding is #{ABC[0].encoding}"
> puts "?\\xff encoding is #{?\xff.encoding}"
>
>
> Output
> ========
>
>
> MRI output
>
> ABC[0] encoding is US-ASCII
> ?\xff encoding is ASCII-8BIT
>
>
>
> macruby output
>
> ABC[0] encoding is UTF-8
> ?\xff encoding is UTF-8
>
>
> The encodings reported above did not seem to be effected by the encoding of the source file.  I tried both ASCII and UTF-8.
>
> When the same code is executed in (mac)irb the results are the same for macirb as they are for macruby.
> irb for MRI however produces UTF-8 strings in both cases! This seemed very odd but I'm fairly sure it's because I have an environment variable:
> LANG=GB.UTF-8
> When I changed to LANG=GB.US_ASCII irb for MRI rendered 'abc'[0] with US_ASCII encoding. macirb still used UTF-8.
>
> (I discovered this when trying to get ruby-mysql to work with macruby.  It doesn't work as-is but seems to work with a few mods that use force_encoding to make MRI and macruby produce the same outputs).
> I abandoned my earlier attempts to use postgres with macruby via the pg gem.  It failed regularly but in unpredictable ways associated, as far as I could tell, with memory management problems.
>
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>


More information about the MacRuby-devel mailing list