Проблема кодирования Ruby

Я только начинаю изучать 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. Кто-либо может указать на меня в правильном направлении?

1
задан Fossmo 17 May 2010 в 06:17
поделиться

2 ответа

Где вы просматриваете вывод? В консоли? Если да, то вы используете Windows XP? Я обнаружил, что на моей установке Windows консоль (я веду разработку в терминале Git+) не отображает неасксиальные символы правильно. В терминале на моем Mac они отображаются нормально.

Если вы подозреваете, что проблема в этом, запишите вывод в файл, а затем просмотрите этот файл в текстовом редакторе. Это должно показать вам правильный вывод.

2
ответ дан 3 September 2019 в 00:31
поделиться

Попробуйте добавить:

$KCODE ='UTF8'

в начало вашего скрипта.

РЕДАКТИРОВАТЬ: кажется, у кого-то раньше была проблема с кодировкой. Постарайтесь следовать советам, данным здесь

0
ответ дан 3 September 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: