我正在使用Watir填充text_field,並使用之前與另一個程序一起刮過的html代碼。使用Watir在Ruby中填充text_field時的編碼問題
我轉交的網站內容的語言是德語,所以有一些特殊字符涉及到,這些字母不存在於英文字母中。
這些字符在html文件中正確顯示,但是當轉移到Joomla安裝的text_field(我正在使用此程序將網站轉移到Joomla)時,特殊字符無法正確顯示。
由於採用了用戶很大的幫助的結果,我已經能夠解決以前的問題,我現在transfering以下方法內容:
browser.text_field(:id => "text").value=(open('my-site.html') { |f| f.read })
的結果,是特殊字符均表現如下所示:
über => ³ber
vergißt => vergi▀t
wählen => wõhlen
geförderter => gef÷rderter
用戶猜測它與我所在的代碼頁和編碼問題有關。運行DOS:CHCP導致850
他試圖解決問題的輸出爲以下幾點:
require 'iconv'
browser.text_field(:id => "text").value=(
Iconv.iconv('CP850', 'ISO-8859-1', open('my-site.html') { |f| f.read })
)
不幸的是,這並沒有解決這個問題,現在的特殊字符的例子所示爲: \ x81ber =黚 vergi \ xE1t =vergißt 和新的生產線被示出爲\ n
我刮下與機械化的頁面,使用以下代碼:
auszug=page.search ('/html/body/table/tr/td/table/tr[2]/td/table/tr/td[4]')
outputFile<<auszug
我希望你能以某種方式幫助我,因爲我只是一個志願者,在這裏有一些編程經驗。如果我在下週沒有收到這個程序(這種編碼的東西是唯一真正阻止我的),那麼我將不得不使用copy + paste手動傳輸一百頁:/
感謝您接受你投入的時間和所有努力! :-)
Sebastian
「紅寶石」不應該全部大寫:http://stackoverflow.com/questions/6053240/how-should-i-capitalize-ruby/6053314#6053314 – 2011-05-19 12:50:42