Я только начинаю изучать Ruby и иметь проблему с кодированием;
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
agent.get('myurl.....')
agent.page.search('#reciperesult a').each do |item|
c = Mechanize.new
c.get(item.attributes['href'])
puts c.page.search('#ingredients li').text
end
Синтезируемый текст показывают как этот h ├©nsekj ├©tt, когда его нужно было показать как этот hønsekjøtt. Я использую Ruby 1.8.7. Кто-либо может указать на меня в правильном направлении?
Где вы просматриваете вывод? В консоли? Если да, то вы используете Windows XP? Я обнаружил, что на моей установке Windows консоль (я веду разработку в терминале Git+) не отображает неасксиальные символы правильно. В терминале на моем Mac они отображаются нормально.
Если вы подозреваете, что проблема в этом, запишите вывод в файл, а затем просмотрите этот файл в текстовом редакторе. Это должно показать вам правильный вывод.
Попробуйте добавить:
$KCODE ='UTF8'
в начало вашего скрипта.
РЕДАКТИРОВАТЬ: кажется, у кого-то раньше была проблема с кодировкой. Постарайтесь следовать советам, данным здесь