ksino's diary

覚えたことを忘れないように、小さなことでも書いていく。

invalid byte sequence in Windows-31J (ArgumentError)

Rubyでこんなコードを書いて、

file = open(ARGV[0])

UTF-8なファイルをオープンしようとしたら

invalid byte sequence in Windows-31J (ArgumentError)

と怒られました。

openメソッドでは、モード引数で文字コードを指定できるようです。

file = open(ARGV[0], "r:utf-8")

rは読み込み専用ですね。