Ruby1.9のエラー「invalid multibyte char (US-ASCII)」

Ruby1.9で日本語を使うとエラーが発生する。

環境

#!/usr/bin/ruby
print "こんにちは世界!"
  • エラー内容
hello.rb:2: invalid multibyte char (US-ASCII)

解決方法

Ruby1.9ソースコードエンコーディングはデフォルトではUS-ASCIIとなっています。
そこで、ソースコードエンコーディングを指定するためにマジックコメントを記述することで解決できました。

#!/usr/bin/ruby
# encoding: utf-8
print "こんにちは世界!"
  • 出力
こんにちは世界!

ちなみに、1行目の#!/usr/bin/rubyは「shebang」と呼ばれ、2行目以降に書くとエラーとなってしまいます。
そのため、shebangは必ず一行目に書く必要があります。