我对编程很陌生,正在用 Ruby 1.9.3 编写一个小练习程序,该程序使用 Nokogiri 用邮政编码查询加拿大议会网站,然后将相应议员的姓名及其骑马打印到终端。
我的代码获取页面并很好地隔离了 MP 的名称/骑行,但在 shell 中将 UTF-8 字符显示为纯 ASCII。我希望改为显示 UTF-8 字符。
我知道 shell 可以处理 UTF-8,因为:
irb> riding = "St-Jérôme"
=> "St-Jérôme"
irb> puts riding
St-Jérôme
=> nil
我用来获取页面的代码:
page = Nokogiri::HTML(open("http://parl.gc.ca/ParlInfo/Compilations/HouseOfCommons/MemberByPostalCode.aspx?PostalCode=#{postalcode}"))
这是我键入时此代码返回的示例puts page
:
<span id="ctl00_cphContent_repMP_ctl00_grdConstituencyAddress_ctl02_Label12">St-Jérôme</span>
所以“ ”在页面输出中St-Jérôme
变成“ St-Jérôme
”,或者只是“ St-Jérôme
”在终端中。
也许有一种方法可以在将其存储为字符串变量时对其进行转换?或者也许我可以在 Nokogiri 中设置一个选项,它将它作为 UTF-8 而不是 ASCII 拉下来?
我在 Google 和 Stack Overflow 上搜索了很长时间以找到答案,但没有找到任何相关或我理解的内容;再说一次,我对此很陌生。如果这是重复的,请指出我正确的方向。
非常感谢。