A Day in the Life

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 コミッターに教えていただきました。

記事の一覧 >

関連するかもエントリー

Ruby のインストール時オプションなどの情報を表示
Ruby のインストール時オプションなどの情報を表示rbconfig で見れるのかー(同僚情報)、今まで知らないで生きてまいりました…。ruby -rrbconfig -e 'c=Config::CONFIG;c.keys.sort.each{|k|puts "#{k}: #{c...
Ruby のインストール時オプションなどの情報を表示rbconfig で見れるのかー(同僚情報)、今まで知らないで生きてまいりました…。ru...
Ruby のバイナリが prelink により毎朝4時に壊れてセグフォになる
Ruby のバイナリが prelink により毎朝4時に壊れてセグフォになるtd-agent.rpm (fluentd の rpm)はパッケージ内に自分で使う Ruby を /usr/lib64/fluent/ruby/bin/ruby にもっている。td-agent の rpm...
Ruby のバイナリが prelink により毎朝4時に壊れてセグフォになるtd-agent.rpm (fluentd の rpm)はパッケ...
Ruby を 1.9.3 p327 から 2.0.0 dev に上げたら Rails の起動時間が2.5倍速、rake spec の速度が1.8倍速になった
Ruby を 1.9.3 p327 から 2.0.0 dev に上げたら Rails の起動時間が2.5倍速、rake spec の速度が1.8倍速になった流しのフェローが Ruby 2.0.0 速いって言ってたので、いやいや速いっていっても〜、と思って社内の Ruby 1.9....
Ruby を 1.9.3 p327 から 2.0.0 dev に上げたら Rails の起動時間が2.5倍速、rake spec の速度が1...