我是很編程新手,我正在編寫Ruby 1.9.3中的一個小練習程序,它使用Nokogiri以郵政編碼查詢加拿大議會網站,然後打印相應的議會成員名稱和他們騎馬到碼頭。如何將Nokogiri-scraped HTML以UTF-8形式輸出到終端?
我的代碼獲取頁面並隔離MP的名稱/騎行很好,但在shell中將UTF-8字符顯示爲純ASCII。我想要顯示UTF-8字符。
我知道殼可以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}"))
這是該代碼返回時的樣品I型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上找到答案,並且沒有找到任何相關或我理解的內容;再一次,我對此很新穎。如果這是重複的,請指向正確的方向。
非常感謝。
我們需要更多/更好的信息。什麼是您使用的郵政編碼?我們需要您使用的代碼樣本,不僅僅是檢索URL,而是您想要的標籤。請參閱http://sscce.org/ –