я в настоящее время испытываю затруднения из-за результатов API амазонки.
сервис возвращает строку с unicode символами: Учитесь Objective\xE2\x80\x93C на Mac (Изучите Ряд),
с рубиновыми 1.9.1 строка даже не не могла обработанный:
REXML::ParseException: #<Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)>
...
Exception parsing
Line: 1
Position: 1636
Last 80 unconsumed characters:
Learn Objective–C on the Mac (Learn Series)
В качестве исключения ваша строка имеет кодировку ASCII-8BIT. Вам следует изменить кодировку. Об этом есть длинный рассказ , но если вас интересует быстрое решение, просто force_encoding
в строке, прежде чем выполнять какую-либо обработку:
s = "Learn Objective\xE2\x80\x93C on the Mac"
# => "Learn Objective\xE2\x80\x93C on the Mac"
s.encoding
# => #<Encoding:ASCII-8BIT>
s.force_encoding 'utf-8'
# => "Learn Objective–C on the Mac"