Issue #16970 has been reported by masuyama (Soichi Masuyama).
----------------------------------------
Bug #16970: Encoding of ENV value returns ASCII-8BIT in Ruby2.6 or later
https://bugs.ruby-lang.org/issues/16970
* Author: masuyama (Soichi Masuyama)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.6.5p114 [i386-mingw32], ruby 2.7.1p83 [x64-mingw32]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
## 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
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>