WWW::Mechanizeで日本語を含むURLを操作するときの注意点

だめな書き方

page = agent.get(“http://hoge.net/?c=ああああ”)
page = agent.get(“http://hoge.net/?c=#{CGI.escape(‘ああああ’)}”)

正しくは
uri URI.parse(“http://hoge.net/?c=#{CGI.escape(‘ああああ’)}”)
page = agent.get(uri)

理由は、urlに文字列を渡すとWWW::Mechanize内部で変換をしている箇所があり、そこで変な変換結果になってしまうことがあるため。