CGI.new for Ruby19

Ruby19格闘話。

1.8用に書いた教材用のCGIがてんで動かない!

core.rb:368:in `split': invalid byte sequence in UTF-8 (ArgumentError)

だとさ。さあどうしたもんか。 1.8でも1.9でも動くような書き方は如何に………。

c = CGI.new(:accept_charset => "EUC-JP")

これで行けた。ちなみにこれまでは

c = CGI.new("html4")

みたいに指示していたが、CGIモジュールのタグ生成器を使わずに

puts "Content-type: text/html; charset=EUC-JP\n"
puts "<html>"
   :

てな感じでやらせていたので、吐き出す文法を引数指定する意味なかった。 だから {:accept_charset => "EUC-JP"} だけでいっかー。