rubyを1.9にバージョンアップしたらw3mで使っていた ローカルCGIが動かなくなったのでメモ。 原因は文字列の文字コードの扱いが変わったことだった。 リテラル まずはリテラルの例 exp.rb #!/usr/bin/env ruby str="文字列リテラル" $ ruby exp.rb exp.rb:2: invalid multibyte char (US-ASCII) exp.rb:2: invalid multibyte char (US-ASCII) 怒られる encodingを指定する。 #!/usr/bin/env ruby # -*- encoding: utf-8 -*- str="文字列リテラル" p str p str.encoding $ ruby exp.rb "文字列リテラル" #<Encoding:UTF-8> OK 外部からの文字列 外部としてsqli