2009-08-24 2 views
3

次のコードで前述のエラーが発生しますが、どうすれば修正できますか?Mechanize Iconv :: POSTクエリを形成しようとするとIllegalSequence

require 'mechanize' 
m = WWW::Mechanize.new 
p = m.get('http://art-mobile.com.ua/register.php') 
f = p.forms.first 
f.submit(f.buttons.last) 

念のため、ここで私のボックス

D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/util.rb:40:in `iconv': "Ðåãèñòðàöèÿ"... (Iconv::IllegalSequence) 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/util.rb:40:in `from_native_charset' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:152:in `from_native_charset' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:144:in `block in proc_query' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:143:in `map' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:143:in `proc_query' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:198:in `block in build_query' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:197:in `each' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:197:in `build_query' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:214:in `request_data' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize.rb:401:in `post_form' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize.rb:344:in `submit' 
    from D:/ruby/lib/ruby/gems/1.9.1/gems/mechanize-0.9.3/lib/www/mechanize/form.rb:130:in `submit' 
    from D:/doer.rb:8:in `<main>' 

そしてところでthis solution上のエラーの完全な説明は

答えて

0

ソリューションは、宝石aを書き換えることであるように見えるが動作しないです新しいページを初期化し、@encoding変数をutf-8に変更し、元のエンコーディングを別のファイルに保存し、元のエンコーディングを使用するように強制するために必要な変更を加えることで、ページのエンコーディングをutf-クエリを作成する

関連する問題