Проблема кодирования Ruby - PullRequest
1 голос
/ 17 мая 2010

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

Ответы [ 2 ]

2 голосов
/ 17 мая 2010

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

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

0 голосов
/ 17 мая 2010

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

$KCODE ='UTF8'

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

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

...