Ошибка кодирования в контенте, полученном из open-uri в ruby ​​on rails - PullRequest
1 голос
/ 29 октября 2010

В некоторых случаях, когда я использую open для получения веб-страницы в Ruby, содержимое страницы имеет ошибку кодирования. Пример:

open("http://www.google.com.br").read

Символы типа ç и ã заменяются на ?

Как я могу получить правильные символы?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2010

Запуск Ruby 1.9.2 здесь.Ваш код выдает HTML, который содержит такие слова:

Configura\xE7\xF5es

Так, по крайней мере, на моей рабочей машине (Vista, с использованием консоли Windows CMD) он возвращает экранированные символы HTML.Насколько я знаю, Ruby 1.9.2 "почти" полностью совместим с Юникодом, поэтому я предполагаю, что у вас не должно быть проблем с UTF-8, если ваша консоль не может обрабатывать печать символов UTF-8..

0 голосов
/ 30 октября 2010

это похоже на работу:

require 'iconv'
i = Iconv.new('UTF-8','LATIN1')
i.iconv(open('http://google.com.br').read)
...