Hash.inspect in --1.9 results in ASCII-8BIT encoding
----------------------------------------------------
Key: JRUBY-5988
URL: https://jira.codehaus.org/browse/JRUBY-5988
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules, Ruby 1.9.2
Affects Versions: JRuby 1.6.3, JRuby 1.6.4
Environment: OSX Lion
Reporter: David Lee
Priority: Minor
In MRI 1.9, {'a' => 1}.inspect.encoding is UTF8. In JRuby --1.9, {'a' =>
1}.inspect.encoding is ASCII-8BIT.
Heuristically, if a hash contains string keys or a multibyte (not necessarily
UTF8) string value, then MRI encodes in UTF8:
{1 => 'áßçîî'}.inspect.encoding #=> UTF8
{'ascii' => 1}.inspect.encoding #=> UTF8
{1 => non_utf8_multibyte_encoding}.inspect.encoding #=> UTF8
If the hash contains no strings in the keys and no multibyte strings in values,
then MRI also encodes in ASCII-8BIT:
{}.inspect.encoding #=> ASCII-8BIT
{1 => 2}.inspect.encoding #=> ASCII-8BIT
{1 => 'ascii'}.inspect.encoding #=> ASCII-8BIT
JRuby always encodes in ASCII-8BIT no matter what.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email