
Issue #20929 has been updated by usa (Usaku NAKAMURA).
Maybe we should use the W API and encode it in UTF-8 ranter than the locale.
agreed. ---------------------------------------- Bug #20929: TestTime have an assertion different from current implementation. https://bugs.ruby-lang.org/issues/20929#change-110859 * Author: YO4 (Yoshinao Muramatsu) * Status: Open * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- test/ruby/test_time.rb have following assersion function. ```ruby def assert_zone_encoding(time) zone = time.zone assert_predicate(zone, :valid_encoding?) if zone.ascii_only? assert_equal(Encoding::US_ASCII, zone.encoding) else enc = Encoding.default_internal || Encoding.find('locale') assert_equal(enc, zone.encoding) end end ``` In current implementation, Time#zone are returned in US_ASCII or locale encoding, which does not seem to take into account the default_internal. ``` C:\>ruby -e "puts Time.now.zone" 東京 (標準時) C:\>ruby -e "puts Time.now.zone.encoding" Windows-31J C:\>ruby -EWindows-31J:UTF-8 -e "puts Time.now.zone" 東京 (標準時) C:\>ruby -EWindows-31J:UTF-8 -e "puts Time.now.zone.encoding" Windows-31J ``` -- https://bugs.ruby-lang.org/