[ruby-list:45331] Re: Windows コマンドプロンプトで UTF-8を出力するにはが参考になる。
require 'kconv' class StdoutHook def write(str) STDOUT.write NKF.nkf("--ic=UTF-8 --oc=Windows-31J", str.to_s) end $> = new end
※意味。$>は標準出力を表す変数。ここに"write"というメソッドを持つStdoutHookというクラスのオブジェクトを代入している。組み込みのメソッドであるprintやputsなどのメソッドはすべて内部でwirteを呼び出すようになっているので、すべての標準出力がSJISに変換されて出力されることになる。