リンクをクリックして ISO-8859-1 エンコーディングのページを取得しようとしているので、コードは次のようになります。
page_result = page.link_with( :text => 'link_text' ).click
これまでのところ、間違ったエンコーディングで結果が得られるため、次のような文字が表示されます。
'T�tulo:' instead of 'Título:'
次のようないくつかのアプローチを試しました。
次のようなエージェントを使用して、最初のリクエストでエンコーディングを指定します。
@page_search = @agent.get( :url => 'http://www.server.com', :headers => { 'Accept-Charset' => 'ISO-8859-1' } )
ページ自体のエンコーディングの記述
page_result.encoding = 'ISO-8859-1'
しかし、私は何か間違ったことをしているに違いありません.単純なプットは常に間違った文字を表示します.
エンコーディングを記述する方法を知っていますか?
前もって感謝します、
追加: 実行可能な例:
require 'rubygems'
require 'mechanize'
WWW::Mechanize::Util::CODE_DIC[:SJIS] = "ISO-8859-1"
@agent = WWW::Mechanize.new
@page = @agent.get(
:url => 'http://www.mcu.es/webISBN/tituloSimpleFilter.do?cache=init&layout=busquedaisbn&language=es',
:headers => { 'Accept-Charset' => 'utf-8' } )
puts @page.body