不兼容的字符编码:Oga gem中的ASCII-8BIT和UTF-8

时间:2016-10-15 02:11:10

标签: ruby encoding utf-8 html-parsing

我正在使用名为Oga的XML / HTML解析器。

我正在尝试抓取此网址:http://www.johnvanderlyn.com并解析正文以查找文字,如下所示:

AutoFitHeader Range("A1:H1")

当我收到此错误时:

def get_page body = Net::HTTP.get(URI.parse(@url)) document = Oga.parse_html(body) end document = get_page words = document.css('body').text

这与此bit of code here有关。

可能导致此问题的原因以及如何解决?有没有办法让我在本地修复它,或者我是否需要分叉gem,修复该方法然后使用我的fork?

思想?

1 个答案:

答案 0 :(得分:2)

您链接的代码与毛刺无关,即正在以错误的编码解释正文的问题。在解析文档之前尝试添加body = body.force_encoding 'UTF-8'

def get_page
  body = Net::HTTP.get(URI.parse(@url)).force_encoding 'UTF-8'
  document = Oga.parse_html(body)
end