2010-05-17 4 views
1

Я только начинаю изучать 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├ © тт, когда оно должно было показано, как этот hønsekjøtt. Я использую Ruby 1.8.7. Может ли кто-нибудь указать мне в правильном направлении?

ответ

2

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

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

+0

Да. 'Cmd.exe' не выводит символы правильно. Кроме того, если вы пишете файл, убедитесь, что вы используете правильную кодировку. – Geo

+0

Thanks , который решил проблему :-) – Fossmo

0

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

$KCODE ='UTF8' 

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

EDIT: кажется, у кого-то еще была проблема с кодировкой. Попытайтесь следовать приведенным советам here

+0

Я пробовал это, и это не помогло :-( – Fossmo

Смежные вопросы