2008年8月 9日

[ruby-list:45331] Re: Windowsコマンドプロンプトで UTF-8を出力するには

From: "NARUSE, Yui" <naruse@xxxxx>
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/


投稿者 xml-rpc : 2008年8月 9日 21:40
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/76129
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。