Ruby HTML Entity Problem - PullRequest
       13

Ruby HTML Entity Problem

0 голосов
/ 19 апреля 2011

Новичок в Ruby, и мне интересно, как получить следующее для печати только символа степени ...

require 'htmlentities'
coder = HTMLEntities.new
puts coder.decode('°')

В настоящее время вывод командной строки (Windows): °

Спасибо!

1 Ответ

1 голос
/ 19 апреля 2011

Похоже, HTMLEntities.decode возвращает строку в UTF-8, и ваша консоль задыхается от этой кодировки.Вам придется перекодировать вашу строку перед передачей ее на puts.

Если вы используете Ruby 1.9.2, похоже, что код довольно прост (на основе строки и кодировка документация):

puts coder.decode('&deg;').encode(Encoding.find('<Whatever-Windows-Uses>'))

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

Если вы 'Что касается более старой версии Ruby, похоже, что перекодирование можно выполнить с помощью Iconv (см. этот вопрос - я подозреваю, что вы просто движетесь в противоположном направлении).

Надеюсь, это поможет!

...