Project

General

Profile

Bug #16970

Updated by masuyama (Soichi Masuyama) 5 months ago

## Problem Report 

 When internal encoding is set to UTF-8, encoding of ENV value always return ASCII-8BIT. (UTF-8 is expected). 

 ## Result of reproduce process 

 Ruby 2.5 
 ``` ruby 
 set TEST=日本 
 ruby --encoding=UTF-8:UTF-8 -e "p 'test'.encoding"         #=> #<Encoding:UTF-8> 
 ruby --encoding=UTF-8:UTF-8 -e "p ENV['TEST'].encoding"    #=> #<Encoding:UTF-8> 

 ``` 
 Ruby 2.6 
 ``` ruby 
 set TEST=日本 
 ruby --encoding=UTF-8:UTF-8 -e "p 'test'.encoding"         #=> #<Encoding:UTF-8> 
 ruby --encoding=UTF-8:UTF-8 -e "p ENV['TEST'].encoding"    #=> #<Encoding:ADCII-8BIT>      **INVALID RESULT** Expected Result is UTF-8. 
 ``` 

 ``` ruby 
 ENV['TEST'] =~ /日本(nonascii)/    # => incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)     
 ``` 


 ## Regression occurred in the following Ticket 

 fallback env encoding to ASCII-8BIT 
 https://github.com/ruby/ruby/commit/7f0d337be73bb2465b40009fe23f3b7be6b0dc90 

 ## Fixes 

 https://github.com/ruby/ruby/pull/3239

Back