2015-01-31 2 views
4

노코 기리 구문 분석, ERB 템플릿 및 인코딩 HTML 파일을 통해 UTF8을 위해 어떻게 : 나는에서 특정 라인을 추출하기 위해 노력하고 이제루비, 노코 기리 : 내가 마지막으로 웹 사이트의 일부를 구문 분석 관리

get '/' do 
    url = '<website>' 
    data = Nokogiri::HTML(open(url)) 
    @rows = data.css("td[valign=top] table tr") 
    erb :muster 
end 

내 견해. 따라서 나는 내 HTML 코드에 넣어 :

<%= @rows[2] %> 

그리고 그것은 실제로 코드를 반환하지만 UTF8에 문제가 있습니다

<td class="class_name">&nbsp;</td> 

를 대신은

<td class="class_name">�</td> 

내가 확인하려면 어떻게 말합니다를 nokogiri 파싱, erb 및 HTML 생성 중 UTF8?

답변

9

참조 :

<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 

당신은 UTF-로 스트림을 치료하는 노코 기리를 강제로 다음을 수행 할 수 있습니다 : 그것은 귀하의 경우처럼 보이는 http://www.nokogiri.org/tutorials/parsing_an_html_xml_document.html#encoding

이 문서는 ISO8859 사용하여이 인코딩 된 것을 선언한다 8 :

data = Nokogiri::HTML(open(url), nil, Encoding::UTF_8.to_s) 
+0

Hi rainkinz. 코드는 실행되지만 여전히 UTF-8은 없습니다. 사방 ... – littleprinter

+0

당신이 타격을 가하는 웹 사이트가 UTF-8이 아닐 수도 있습니다. URL은 무엇입니까? – rainkinz

+0

nokogiri가 UTF-8을 사용하도록하는 방법을 보여주기 위해 내 대답이 업데이트되었습니다. – rainkinz