From: "U.Nakamura" Date: 2007-12-28T13:55:46+09:00 Subject: [ruby-dev:32845] Re: Windowでのデフォルトエンコーディング こんにちは、なかむら(う)です。 In message "[ruby-dev:32843] Windowでのデフォルトエンコーディング" on Dec.28,2007 13:33:05, wrote: | Windows版の 1.9.0-0の動作なんですが、 | | irb(main):001:0> RUBY_VERSION | => "1.9.0" | irb(main):002:0> "".encoding | => # | irb(main):003:0> p "こんにちは世界" | "\x82\xB1\x82\xF1\x82\xC9\x82\xBF\x82\xCD\x90\xA2\x8AE" | => "\x82\xB1\x82\xF1\x82\xC9\x82\xBF\x82\xCD\x90\xA2\x8AE" | irb(main):004:0> | | 日本語Windowsでこうなってしまうのはちょっと悲しいと思うのですが、 | ないか良い手はないですかね? 1.8と同じなので-Ksでどうでしょうか。 という冗談は置いておいて。 1.9では、Encoding.default_externalを、-E(--encoding)または-K オプションで決定し、これらの指定がなければEncoding.locale_charmap (相当)で得られる情報から決定します。 現状、例えば日本語版WindowsではEncoding.locale_charmapは"CP932" を返すようになっています。 ので、CP932というencodingを定義すれば、この問題も解決します。 現状そうなってないのは、単なる時間不足が理由です。 Shift_JISのaliasなだけじゃまずいよなあとかそのあたりの検討が 必要ですね。 それでは。 -- U.Nakamura