目次

標準出力

標準出力で文字コード変換する

[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に変換されて出力されることになる。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-04-11 (月) 15:28:22