- 500 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:53:59 ]
- Rubyが取り扱う文字のエンコーディングを指定しなければASCIIとして扱われてしまうのでそういうことになる
Ruby 1.8まででは 1 Ruby起動時にスイッチで -Ks とかで指定する 2 スクリプト先頭に #!ruby -Ks とか書いておくとスクリプト実行時にそのスイッチが考慮される 3 $KCODE を設定する 4 個々の正規表現のオプションでエンコーディングを指定する ただし1,2はスクリプト自体のエンコーディングと正規表現の振る舞いの両者を変更するが 3,4だと正規表現の振る舞いを変えるだけなので スクリプトがシフトJISで書かれていると p "表" # エンコーディングを正しく指定しないと 文字列リテラルが終了してないことに("\225\" と同じ扱い) とかのいわゆるダメ文字(2バイト目が\)問題にぶち当たる UTF-8やEUC-JPだとそのような問題は起きない(のかな?)
|

|