Issue #14863 has been updated by shevegen (Robert A. Heiler). Interesting. I kind of agree with you - that surprised me. Perhaps there is an explanation for it, but perhaps it is a bug. Either way, I think if it is a bug, it should obviously be fixed; and if it is not a bug, perhaps the explanation for this behaviour could be explained in some detail. I just tested with this snippet stored in a .rb file: " #!/System/Index/bin/ruby -w # Encoding: ISO-8859-1 # frozen_string_literal: true # =========================================================================== # puts [].join.encoding joined = ['a','b','c'].join puts joined.encoding puts 'abc'.encoding" The above generated three ouputs, being: US-ASCII ISO-8859-1 ISO-8859-1 I sort of have to agree with Xavier. I think the first result, for an empty [], is awkward in particular when I already specified ANOTHER encoding in the shebang - the other two strings work fine and honour the shebang entry. (The third one was just for testing; second line was the result of a .join on an Array that has some strings). [].join probably creates a new, empty string, but I think that new string should default to the main encoding (e. g. UTF-8) - or the one specified in the shebang directive (if applicable). So I think it is most likely a bug or perhaps just an oversight. I myself never ran into this issue in my code so far. ---------------------------------------- Bug #14863: Array#join with empty array returns empty string always in US-ASCII encoding https://bugs.ruby-lang.org/issues/14863#change-72574 * Author: xsimov (Xavier Sim) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 2.4.2 * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- Calling ~~~ irb(main):001:0> [].join.encoding => #<Encoding:US-ASCII> ~~~ returns an empty string and that empty string is always in US-ASCII encoding. The expected result is that the returned empty string would be in UTF-8 since it seems to be the default for Ruby strings since 2.0. -- 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>