gpt4 book ai didi

ruby - 在 Ruby 中使用 Watir 填写 text_field 时的编码问题

转载 作者:数据小太阳 更新时间:2023-10-29 08:54:01 26 4
gpt4 key购买 nike

我正在使用 Watir 用我之前用另一个程序抓取的 html 代码填充一个 text_field。

我要传输的网站内容的语言是德语,因此涉及一些特殊字符,这些字符不存在于英文字母表中。

这些字符在 html 文件中正确显示,但当传输到 Joomla 安装的 text_field 时(我正在使用此程序将网站传输到 Joomla),特殊字符显示不正确。

由于用户的大力帮助,我已经能够解决以前的问题,现在正在使用以下方法传输内容:

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 = über vergi\xE1t = vergißt新行显示为\n

我使用以下代码用 Mechanize 抓取了页面:

auszug=page.search ('/html/body/table/tr/td/table/tr[2]/td/table/tr/td[4]')
outputFile<<auszug

我希望你能以某种方式帮助我,因为我只是一名在这里工作的志愿者,具有一些编程经验。如果下周我还没有让这个程序运行(这个编码是唯一真正阻止我的东西),那么我将不得不使用复制+粘贴手动传输一百页:/

感谢您花时间和为此付出的所有努力! :-)

塞巴斯蒂安

最佳答案

您是否尝试过转换为 UTF-8?

browser.test_field(:id => "text").value=(Iconv.conv(‘utf-8’, 'CP850', open('my-site.html') {|f| f.read})

关于ruby - 在 Ruby 中使用 Watir 填写 text_field 时的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5974692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com