From: "NARUSE, Yui" <naruse / airemix.jp> Subject: [ruby-list:45330] Re: Windows コマンドプロンプトで UTF-8を出力するには Date: Sat, 9 Aug 2008 21:06:10 +0900 るびきちです。 > >> いえ、出力が Shift_JIS 系であればいいだけで、 > >> ソースコードは UTF-8 でも大丈夫ですよ。 > > > > あれ、1.8 で出力の文字エンコードを指定する事はできましったけ? > > できないので、puts をフックするとか、myputs を使うとか。 > def myputs(*arg) > puts NKF.nkf("--ic=UTF-8 --oc=Windows-31J", arg.map{|x|x.to_s}.join("\n")) > end $>にwriteメソッドを持つオブジェクトを代入するとか。 require 'kconv' class StdoutHook def write(str) STDOUT.write NKF.nkf("--ic=UTF-8 --oc=Windows-31J", str.to_s) end $> = new end あとはputsでもprintでもprintfでもShift_JISで出力されます。 -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/