不兼容的字符编码:UTF-8和Windows-1251

时间:2016-05-06 14:15:23

标签: ruby-on-rails encoding utf-8

我正在用nokogiri解析一个俄罗斯网站。

这是我的控制器

class ParserController < ApplicationController
  require 'open-uri'

  require 'nokogiri'


  def test
     source = 'http://www.rp.ru/shop/?set_filter=Y&query=&level1=%CE%C1%CE%D0%D3%C4%CE%C2%C0%CD%C8%C5+%C4%CB%DF+%CC%C0%C3%C0%C7%C8%CD%C0&level2=%D5%CE%CB%CE%C4%C8%CB%DC%CD%CE%C5+%CE%C1%CE%D0%D3%C4%CE%C2%C0%CD%C8%C5&level3=%CB%C0%D0%DC+%CC%CE%D0%CE%C7%C8%CB%DC%CD%DB%C9%2C+%D5%CE%CB%CE%C4%C8%CB%DC%CD%DB%C9&tid=4_2225606&q=&manufacturer=0&type=0&count=100&XML_ID=&section=0&sort=0&show_type=1'

     page = Nokogiri::HTML(open(source))
     @titles = []
     page.css('.salenamebrand').each do |t|
     @titles << t
  end
end

这是我的观点

<% @titles.each do |t| %>
<%=t%>

<%end%>

我收到了这个错误:

Encoding::CompatibilityError in Parser#test

incompatible character encodings: UTF-8 and Windows-1251

我该怎么办?

1 个答案:

答案 0 :(得分:0)

似乎我只需要编写类似这样的内容:@titles << t.text它现在可以正常工作了!