Ruby 1.9 で起動オプションで外部エンコーディングを指定する
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 コミッターに教えていただきました。