![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Mecahnizeを使ってgetしたPageのbodyに対して、
文字コード変換したところ、Pageの内容がほとんど消えてしまいます。
よって、タグのサーチやフォームの操作などで失敗してしまいます。
変換前にlinksメソッドを使うと現象が回避されるのを
発見しましたが理由がわかりません。
コードは以下のような感じです。
agent = WWW::Mechanize.new
page = agent.get(url)
p page #=>いろいろ表示される WWW::Mechanize::Page
#lnks = page.links #=>これがないとpageの内容がおかしくなる
#変数lnksは全く使っていない
page.body = page.body.toutf8 # UTF8に変換
p page #=> 1回目と比較して内容がほとんどなくなっている
#linksメソッドを使えば現象が起きない
rubyは1.8.7 p174 i386-mswin32です。
mechanizeは0.9.3です。
nokogiriは1.4.1, 1.3.3です。
理由がわかる方、スマートな回避方法、
このコードで使い続けても問題ないか?など
ご教授ください<(_ _)>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
linksメソッドで直るというのがわかりませんが、もし、
・文字コードがUTF-8でなく、EUC-JP,Shift_JIS,ISO-2022-JPである
・にもかかわらずJIS規格にない丸付き数字とかローマ数字などを使っている
ということであれば、文字コードの問題で、回避策があります。
この回答への補足
MechanizeからWWW::がなくなりましたね。。。
それはさておき、
数ヶ月にわたる研究の結果、
@post_connect_hookにコード変換のProcオブジェクトを登録することで解決するようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHP ページング データベース 1 2022/06/16 10:30
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- Visual Basic(VBA) VBAでWEBサーバー上に保存されたPDFファイルのリンク有効チェックについて 1 2022/11/11 16:04
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ブックマークレットについて 2 2022/10/09 11:48
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
get() と find() の違いについて
-
エラー「メソッドまたはデータ...
-
教えてください。vb5.0
-
try ~ catch構文が使えない
-
Csvファイルの最終行を取得する...
-
クエリーストリングとは?
-
メソッド定義の構文のdefって
-
実行時エラー450:引数の数が一...
-
エクセルVBA オートフィルタで...
-
テンプレートの特殊化でコンパ...
-
Rubyの超初心者です。「戻り値r...
-
構造体を使ったプログラム
-
【引数と戻り値の違い】 はじめ...
-
クラスメソッドのインスタンス...
-
「arg」は何の略?
-
プログラミングRubyについての...
-
CloseとQuitについて
-
fortranを用いた行列の掛け算に...
-
railsチュートリアル5章の演習
-
下線部の答え教えてください こ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
get() と find() の違いについて
-
エクセルVBA オートフィルタで...
-
VBAで型が一致しないエラー(バ...
-
教えてください。vb5.0
-
エラー「メソッドまたはデータ...
-
A1の値をファイル名に指定した...
-
実行時エラー450:引数の数が一...
-
Csvファイルの最終行を取得する...
-
Ruby:シルバーについて
-
Ruby on Rails 「attr_accessor...
-
クエリーストリングとは?
-
メソッド定義の構文のdefって
-
RubyでバイナリデータをIOスト...
-
.sub(/.+/,"aaaaaaa#{$&}"の置...
-
【C++】DxlibのLoadgraph()を使...
-
正規表現で両端に文字列を置換
-
RubyのDateクラスのメソッドが...
-
ruby shuffleメソッド
-
エラー・・
-
pythonのerrorコード
おすすめ情報