From: naruse@... Date: 2020-12-10T08:44:53+00:00 Subject: [ruby-dev:50975] [Ruby master Bug#10417] IO#set_encoding without int_enc doesn't keep current internal encoding Issue #10417 has been updated by naruse (Yui NARUSE). Status changed from Open to Closed 特に困っているって言う例を聞かないので一旦クローズします ---------------------------------------- Bug #10417: IO#set_encoding without int_enc doesn't keep current internal encoding https://bugs.ruby-lang.org/issues/10417#change-89082 * Author: usa (Usaku NAKAMURA) * Status: Closed * Priority: Normal * Target version: 3.0 * ruby -v: - * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- bugかfeatureか迷ったんですが、とりあえずbugで。 `IO#set_encoding`を1引数で呼び出したとき、つまりexternal encodingのみを指定した場合、internal encodingは`nil`が指定されたとみなされ、`Encoding.default_inernal`が設定されます。 従って、もともとこのIOにinternal encodingが設定されていた場合、それが上書きされてしまいます。 internal encodingを指定せずに呼び出した場合は、現在の値を保持すべきではないでしょうか? -- https://bugs.ruby-lang.org/