上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    ruby 1.8 watir 文字化け

    ruby 1.6 から 1.8 にしたら、
    watir で文字化けが発生するようになりました。

    ■環境
    ruby -v
    > ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]
    gem list --local
    > watir (1.6.5)

    rubyスクリプトはShiftJISで作成

    ■現象
    require 'rubygems'
    require 'watir'

    begin
    begin
    puts "Yahoo検索!"
    ie = Watir::IE.start("http://www.yahoo.co.jp")
    ie.text_field(:id, 'srchtxt' ).set('ミカエル')
    rescue
    puts $!
    end

    end

    とやると、検索テキストボックスに以下のような文字が入力されます。(実際は白抜きの□とか)
    �~�J�G��

    ruby 1.6のころは大丈夫だった気がします。
    原因は何でしょう?



    ■調査中
    とりあえず、文字コードをeucにしてみる。
    undefined method `toeuc' for "\203~\203J\203G\203\213":String
    怒られる。
    require 'kconv'
    を追加。
    ��������
    が入力される。

    ie.text_field(:id, 'srchtxt' ).set('ミカエル')

    ie.text_field(:id, 'srchtxt' ).value = 'ミカエル'.toutf8
    にしてみる。

    require 'rubygems'
    require 'watir'
    require 'kconv'

    begin
    begin
    puts "Yahoo検索!"
    ie = Watir::IE.start("http://www.yahoo.co.jp")
    ie.text_field(:id, 'srchtxt' ).value = 'ミカエル'.toutf8
    rescue
    puts $!
    end

    end
    とりあえず、大丈夫になった。

    ■追記
    valueに渡す文字列は、サイトのエンコード文字にかかわらず、
    utf8で渡すほうがいいみたい。

    コメントの投稿

    非公開コメント

    Google広告
    Amazon商品紹介
    Amazon
    楽天
    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    プロフィール

    アブラクサス太郎

    Author:アブラクサス太郎
    FC2ブログへようこそ!

    カテゴリ
    検索フォーム
    RSSリンクの表示
    リンク
    ブロとも申請フォーム

    この人とブロともになる

    QRコード
    QR
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。