From: "NARUSE, Yui" Date: 2008-07-04T01:15:04+09:00 Subject: [ruby-dev:35343] Re: Win32 Unicode console output 成瀬です。 U.Nakamura wrote: > こんにちは、なかむら(う)です。 > > In message "[ruby-dev:35334] Re: Win32 Unicode console output" > on Jul.03,2008 12:13:17, wrote: >>>> あとは入力系、ReadConsoleInputW() と GetCommandLineW() か… >>>> -EUTF-8 とかで起動された場合に限って使用する、とか制御しないと駄目ですよ >>>> ねやっぱ。 >>> まさか、Windows のコマンドプロンプトで、 >>> locale と異なる文字列を生で打つ勇者はいないと思うんですが、 >> いや、CreateProcessW() とか ShellExecuteW() という強者が居ますから。 >> >> Exerb か何かで exe 化されたスクリプトで、関連づけされたファイルを開く、 >> なんてシチュエーションを考えると、エクスプローラが non-Locale のファイル >> 名を渡してくるなんて可能性も充分あります。 > > とりあえず、次はGetCommandLineW()だろう、と思ってコードを見な > がら考えたのですが、当たり前ですがコマンドライン引数の解釈が > 終わるまでdefault_externalは確定できないのでした。 > > 一度GetCommandLineA()で解釈した後、default_externalが決まった > らやりなおすのかなあ。できるんだろうか。 GetCommandLineW() で解釈して、default_external に 変換すればいいんじゃないですかね。 GetCommandLineA() では Windows がやっていることを、 Ruby の側でやるように変えるだけかな、と。 -- NARUSE, Yui