プロが教えるわが家の防犯対策術!

Rubyの初心者です。

Rubyのバージョンを、
ruby-1.8.7 から ruby-1.9.3 に上げたのですが、

コマンドプロンプト上での漢字の表示が1.8.7ではできていたのですが、
19.3にすると、putsやprintで漢字を表示させようとすると、

invalid multibyte char (US-ASCII)

のエラーが出てしまって、漢字が表示されなくなってしまいました。

ヴァージョンを上げたことで、漢字を表示させるために何かやらないといけないこととかあるのでしょうか?

御経験のある方、御教示願えればと思います。

A 回答 (1件)

1.9で、ASCII以外の文字を使うときには、ソースの前の方(1行目か2行目)で、文字コードの種類を指定する必要があります。



#! ruby
# encoding: Shift_JIS ←これが必要(実際の文字エンコーディングに合わせて指定)
puts "あいうえお"

とか。
デフォルトのエンコーディングがUS-ASCIIなので、いわゆる半角英数記号以外は使えません。

使えるエンコーディング種類は、下記で。
ruby -e "puts Encoding.list.map(&:to_s).sort"

Ruby 2.0 では、デフォルトが UTF-8 になるそうです。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。

勉強になりました。

お礼日時:2013/01/08 02:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!