Hatena::Groupsubtech

#生存戦略 、それは

-> 12 { 01 / 20 }

Ruby 1.9 で起動オプションで外部エンコーディングを指定する

17:57 | はてなブックマーク - Ruby 1.9 で起動オプションで外部エンコーディングを指定する - #生存戦略 、それは

1.9 をよく解ってないオールドタイプの secondlife ですこんばんは。Ruby 1.9 では外部エンコーディングの Encoding.default_external はロケール( $LANG )によて変化する。

$ echo $LANG
ja_JP.UTF-8
$ ruby -e "puts Encoding.default_external"
UTF-8
$ echo $LANG
C
$ ruby -e "puts Encoding.default_external"
US-ASCII

外部エンコーディングを考慮してない、かつ UTF-8 を扱うスクリプトだとエラーになったりする。そんなときは

ruby -EUTF-8 script

で起動オプションで指定してやると良い。gem ライブラリのような場合

ruby -EUTF-8 -S command

とすると path から探索してくれる便利!後ろの席の Ruby コミッターに教えていただきました。

トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20120120