Issue #3533 has been updated by Run Paint Run Run.


I _believe_ both behaviours are intended. 

As I note in http://ruby.runpaint.org/encoding#external , "The external encoding of a stream may be queried with IO#external_encoding, which returns the corresponding Encoding object. Note, however, that if the stream is in write-only mode, and wasn???t explicitly assigned an external encoding, this method returns nil."

When the internal encoding is nil, no transcoding occurs, and it is nil by default. If you want transcoding you must ask for it explicitly.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3533

----------------------------------------
http://redmine.ruby-lang.org