1

我想抓住維基百科頁面上的漢字表,並且使用特殊字符使用Nokogiri時遇到了麻煩。這是我的腳本:使用Nokogiri抓取漢字網頁

# -*- encoding: utf-8 -*- 

require 'rubygems' 
require 'nokogiri' 
require 'open-uri' 

link = 'http://en.wikipedia.org/wiki/List_of_j%C5%8Dy%C5%8D_kanji' 

doc = Nokogiri::HTML(open(link)) 
doc.encoding = 'UTF-8' 

d = [] 
doc.css('.wikitable tr').each do |tr| 
    row = [] 
    tr.css('td').each {|td| row << td.text } 
    d << row 
end 

d.each {|row| row.each {|td| puts td } } 
y = YAML.dump(d, STDOUT) 
puts y 

我的麻煩是,它返回二進制字符(如ã¯)而不是漢字字符(如人)。

如何編輯它以解決此問題?非常感謝。

+0

漢字不是特殊字符,恕我直言,它們只是普通的日語字符。 – YOU 2010-06-26 13:26:26

+0

@ S.Mark他們是「特殊」的,因爲與大多數基於拉丁語的語言相比,他們擁有大量的代碼頁/符號,因此在某些情況下可能需要比基於拉丁語的語言更多的「特殊」處理。 但是對於大多數情況來說,只要應用程序可以處理Unicode,他們可以像普通文本一樣處理。 – Pharaun 2010-07-21 18:06:10

回答

0
doc = Nokogiri::HTML(open(link),nil,'UTF-8') 

適用於我,如果您的終端不支持日文字符,請將其轉儲到文件中。

+0

耶,非常感謝,馬克! – moshimoshi 2010-06-26 18:06:45