[#70843] Re: [ruby-cvs:58952] hsbt:r51801 (trunk): * lib/rubygems: Update to RubyGems HEAD(fe61e4c112). — Eric Wong <normalperson@...>
hsbt@ruby-lang.org wrote:
3 messages
2015/09/17
[ruby-core:70705] Re: [Ruby trunk - Bug #11519] [Feedback] "#{nil}" produces string as US-ASCII rather than current encoding
From:
Perry Smith <pedzsan@...>
Date:
2015-09-09 20:05:16 UTC
List:
ruby-core #70705
“#{nil}”.encoding != ‘UTF-8’ and “#{bar}#{foo}”.encoding != ‘UTF-8’ despite foo being UTF-8 and the encoding of the source file and hence the “ … “ string within the source file being UTF-8.
> On Sep 9, 2015, at 12:25 PM, nobu@ruby-lang.org wrote:
>
> Issue #11519 has been updated by Nobuyoshi Nakada.
>
> Description updated
> Status changed from Open to Feedback
>
> What's and why wrong?
>
> ----------------------------------------
> Bug #11519: "#{nil}" produces string as US-ASCII rather than current encoding
> https://bugs.ruby-lang.org/issues/11519#change-54094
>
> * Author: Perry Smith
> * Status: Feedback
> * Priority: Normal
> * Assignee:
> * ruby -v: ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
> * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
> ----------------------------------------
> ~~~ruby
> #! /usr/bin/env ruby
> # encoding: utf-8
>
> puts "Ruby version: #{RUBY_VERSION}"
> puts "__ENCODING__ = #{__ENCODING__}"
> puts "hello".encoding
> foo = "hello"
> puts "#{foo}".encoding
> puts "#{"hello"}".encoding
> bar = nil
> puts "#{bar}".encoding
> puts "#{nil}".encoding
> puts "#{bar}#{foo}".encoding
> ~~~
>
> The output for this on all versions of ruby that I have except 1.9.1 is this:
>
> ~~~
> Ruby version: 2.2.3
> __ENCODING__ = UTF-8
> UTF-8
> UTF-8
> UTF-8
> US-ASCII
> US-ASCII
> US-ASCII
> ~~~
>
> It is the last part that gave me grief. Rails `content_for` used such a construct so all my content was being converted to US-ASCII and sometimes were error off.
>
> It seems to me the `"#{ ... }"` string should be utf-8 and so anything inserted into it should be converted to utf-8 so `"#{nil}"` should be utf-8 -- not US-ASCII.
>
>
>
>
> --
> https://bugs.ruby-lang.org/